Tentei usar o git de configuração e usá-lo para o github, quando segui o documento de ajuda, mas quando cheguei à etapa 5 da seção de configuração de chaves ssh : Teste tudo, quando usei este comando: ssh -T [email protected]
ocorreu um erro :
ssh: conectar ao host porta 22 do github.com: nenhuma rota para hospedar
Então eu usei este comando:
ssh -vT [email protected]
Aqui está o que eu tenho:
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
Pesquisei por um tempo e descobri que tinha que verificar se o iptables bloqueava a porta. Então aqui está o resultado:
~$ 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
E eu tentei o comando sugerido por Gilles:
tcptraceroute github.com 22
Aqui está o que eu tenho:
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
Parece que a rota está parada em 115.156.255.174, que eu não sei onde é.
Não consigo descobrir o que isso significa. Ele bloqueia a porta 22?
A propósito, eu posso acessar a Internet e visitar github.com. E eu estou usando o Ubuntu 11.10.
Alguém pode ajudar com isso? Obrigado!
Respostas:
Sua
INPUT
corrente aceita tudo. Você não mostrou suaOUTPUT
cadeia, mas presumo que ela aceite tudo também. Isso implica que a conexão está bloqueada em algum lugar entre você e o Github. É possível que o firewall da sua escola bloqueie as conexões de saída para a porta 22.Você pode ter uma idéia melhor de onde seus pacotes são interceptados instalando o tcptraceroute e executando
tcptraceroute github.com 22
.Peça ao administrador da sua escola para abrir a porta 22 ou pelo menos (se houver relutância) a porta 22 para
github.com
. Seu uso da rede é um uso sério, que deve ser permitido aos alunos.Se os administradores não se moverem e você usar um proxy para conectar-se à Web, poderá conseguir que o proxy retransmita o tráfego (ele pode ou não funcionar, dependendo de como o proxy estiver configurado). Consulte É possível fazer o SSH pela porta 80?
A propósito, sua
INPUT
cadeia permite todo o tráfego de entrada, pois você só possuiACCEPT
regras e umaACCEPT
política. Um conjunto de regras típico bloqueia o tráfego UDP de entrada em portas não controladas e bloqueia as conexões TCP de entrada em portas não controladas:fonte
-v
sinalizadoriptables
para ver todas as partes de uma regra).Com base no seu comentário, é quase certo que a escola tenha algum tipo de filtro para bloquear todo o tráfego que não seja da porta 80 ou todo o tráfego que não estiver na lista de permissões. Provavelmente, você pode se safar de um túnel HTTP SSH, conforme documentado aqui , ou pode tentar um cliente ssh baseado em navegador, como mostrado aqui .
fonte