Próbowałem użyć skonfigurowanego git i użyć go do github, a następnie, gdy podążyłem za dokumentem pomocy, ale kiedy dotarłem do kroku 5 sekcji konfiguracji kluczy ssh : przetestuj wszystko, kiedy użyłem tego polecenia: ssh -T [email protected]
dostałem błąd :
ssh: połącz z hostem github.com port 22: Brak trasy do hosta
Następnie użyłem tego polecenia:
ssh -vT [email protected]
Oto co mam:
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
Przeglądałem przez chwilę i stwierdziłem, że muszę sprawdzić, czy iptables zablokował port. Oto wynik:
~$ 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
I spróbowałem polecenia sugerowanego przez Gillesa:
tcptraceroute github.com 22
Oto co mam:
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
Wygląda na to, że trasa jest zatrzymana o godzinie 115.156.255.174, co nie wiem gdzie ona jest.
Nie mogę zrozumieć, co to znaczy. Czy blokuje port 22?
Nawiasem mówiąc, mogę uzyskać dostęp do Internetu i odwiedzić github.com. Używam Ubuntu 11.10.
Czy ktoś może w tym pomóc? Dzięki!
Odpowiedzi:
Twój
INPUT
łańcuch akceptuje wszystko. Nie pokazałeś swojegoOUTPUT
łańcucha, ale założę, że on także akceptuje wszystko. Oznacza to, że połączenie jest gdzieś pomiędzy Tobą a Githubem. Możliwe, że zapora ogniowa Twojej szkoły blokuje połączenia wychodzące z portem 22.Możesz dowiedzieć się, gdzie twoje pakiety są przechwytywane, instalując tcptraceroute i uruchamiając
tcptraceroute github.com 22
.Poproś administratora szkoły, aby otworzył port 22 lub przynajmniej (jeśli niechętnie) port 22 do
github.com
. Twoje korzystanie z sieci jest poważnym wykorzystaniem, które powinno być dozwolone dla studentów.Jeśli administratorzy nie ruszają się i używasz proxy do łączenia się z Internetem, możesz być w stanie uzyskać proxy do przekazywania ruchu (może, ale nie musi działać, w zależności od konfiguracji proxy). Zobacz Czy jest możliwe połączenie SSH przez port 80?
Nawiasem mówiąc, Twój
INPUT
łańcuch zezwala na cały ruch przychodzący, ponieważ masz tylkoACCEPT
reguły iACCEPT
zasady. Typowy zestaw reguł blokuje przychodzący ruch UDP na nie sprawdzonych portach i blokuje przychodzące połączenia TCP na nie sprawdzonych portach:źródło
-v
flagę,iptables
aby zobaczyć wszystkie części reguły).Na podstawie Twojego komentarza jest prawie pewne, że szkoła ma jakiś filtr, który blokuje cały ruch poza portem 80 lub cały ruch na białej liście. Prawdopodobnie możesz uciec z tunelu HTTP SSH, jak tutaj udokumentowano , lub możesz wypróbować klienta ssh opartego na przeglądarce, jak pokazano tutaj .
źródło