Ich habe versucht, git einzurichten und es für github zu verwenden, als ich dann dem Hilfedokument folgte, aber als ich zu Schritt 5 des Abschnitts zum Einrichten von SSH-Schlüsseln kam : Alles testen, Als ich diesen Befehl verwendete: ssh -T [email protected]
Ich habe einen Fehler erhalten ::
ssh: Verbindung zum Host herstellen github.com Port 22: Keine Route zum Host
Dann habe ich diesen Befehl verwendet:
ssh -vT [email protected]
Folgendes habe ich bekommen:
OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
debug1: Reading configuration data /home/jacos/.ssh/config
debug1: Applying options for github.com
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: connect to address 207.97.227.239 port 22: No route to host
ssh: connect to host github.com port 22: No route to host
Ich habe eine Weile gegoogelt und festgestellt, dass ich überprüfen muss, ob die iptables den Port blockiert haben. Also hier ist das Ergebnis:
~$ sudo /sbin/iptables -L -n
[sudo] password for jacos:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 10.42.43.0/24 state RELATED,ESTABLISHED
ACCEPT all -- 10.42.43.0/24 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Und ich habe den von Gilles vorgeschlagenen Befehl ausprobiert:
tcptraceroute github.com 22
Folgendes habe ich bekommen:
Selected device eth0, address 222.20.58.XX(sorry...I masked part of my ip), port 33281 for outgoing packets
Tracing the path to github.com (207.97.227.239) on TCP port 22 (ssh), 30 hops max
1 222.20.58.254 0.891 ms 0.850 ms 0.693 ms
2 zxq-xs-h3c7510e.hust.edu.cn (115.156.255.137) 1.253 ms 1.569 ms 2.837 ms
3 zxq-xs-rjs8606.hust.edu.cn (115.156.255.130) 0.729 ms 0.678 ms 0.629 ms
4 115.156.255.174 0.794 ms 6.279 ms 16.569 ms
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
Destination not reached
Es scheint, dass die Route bei 115.156.255.174 gestoppt ist, was ich nicht weiß, wo es ist.
Ich kann nicht herausfinden, was es bedeutet. Blockiert es Port 22?
Ich kann übrigens auf das Internet zugreifen und github.com besuchen. Und ich benutze Ubuntu 11.10.
Kann mir jemand dabei helfen? Vielen Dank!
Antworten:
Ihre
INPUT
Kette akzeptiert alles. Sie haben IhreOUTPUT
Kette nicht gezeigt , aber ich gehe davon aus, dass sie auch alles akzeptiert. Dies bedeutet, dass die Verbindung irgendwo zwischen Ihnen und Github blockiert ist. Möglicherweise blockiert die Firewall Ihrer Schule ausgehende Verbindungen zu Port 22.Sie können eine bessere Vorstellung davon bekommen, wo Ihre Pakete abgefangen werden, indem Sie tcptraceroute installieren und ausführen
tcptraceroute github.com 22
.Bitten Sie den Administrator Ihrer Schule, Port 22 oder zumindest (wenn sie nicht bereit sind) Port 22 zu öffnen
github.com
. Ihre Nutzung des Netzwerks ist eine ernsthafte Nutzung, die den Schülern gestattet sein sollte.Wenn sich die Administratoren nicht rühren und Sie einen Proxy verwenden, um eine Verbindung zum Web herzustellen, können Sie den Proxy möglicherweise dazu bringen, Datenverkehr weiterzuleiten (dies funktioniert möglicherweise oder nicht, je nachdem, wie der Proxy konfiguriert ist). Siehe Ist SSH über Port 80 möglich?
Ihre
INPUT
Kette erlaubt übrigens den gesamten eingehenden Datenverkehr, da Sie nurACCEPT
Regeln und eineACCEPT
Richtlinie haben. Ein typischer Regelsatz blockiert eingehenden UDP-Verkehr an nicht überprüften Ports und eingehende TCP-Verbindungen an nicht überprüften Ports:quelle
-v
Flag hinzufügeniptables
, um alle Teile einer Regel anzuzeigen).Basierend auf Ihrem Kommentar ist es fast sicher, dass die Schule über einen Filter verfügt, der entweder den gesamten Verkehr ohne Port 80 oder den gesamten Verkehr ohne Whitelist blockiert. Sie könnten wahrscheinlich mit einem SSH-HTTP-Tunnel davonkommen, wie hier dokumentiert , oder Sie könnten einen browserbasierten ssh-Client wie hier gezeigt ausprobieren .
quelle