Error de Git ssh: puerto 22: no hay ruta al host

Error de Git ssh: puerto 22: no hay ruta al host

Intenté usar set up git y usarlo para github, luego cuando seguí el documento de ayuda, pero cuando llegué apaso 5 de la sección de configuración de claves ssh: Pruebe todo. Cuando utilicé este comando: recibí un error:ssh -T [email protected]

ssh: conectarse al host github.com puerto 22: no hay ruta al host

Luego usé este comando:

ssh -vT [email protected]

Esto es lo que obtuve:

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

Busqué en Google por un tiempo y descubrí que tenía que verificar si iptables bloqueó el puerto. Así que aquí está el 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

Y probé el comando sugerido por Gilles:

tcptraceroute github.com 22

Esto es lo que obtuve:

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 la ruta está parada en el 115.156.255.174, que no sé donde está.

No puedo entender lo que significa. ¿Bloquea el puerto 22?

Por cierto, puedo acceder a Internet y visitar github.com. Y estoy usando Ubuntu 11.10.

¿Alguien puede ayudarme con esto? ¡Gracias!

Respuesta1

Tu INPUTcadena lo acepta todo. No has mostrado tu OUTPUTcadena, pero supongo que también acepta todo. Esto implica que la conexión está bloqueada en algún lugar entre usted y Github. Es posible que el firewall de su escuela bloquee las conexiones salientes al puerto 22.

Puede tener una mejor idea de dónde se interceptan sus paquetes instalandotcptraceroruta Instalar tcptraceroutey corriendo tcptraceroute github.com 22.

Pídale al administrador de su escuela que abra el puerto 22, o al menos (si se muestra reacio) el puerto 22 a github.com. Su uso de la red es un uso serio, que debería estar permitido a los estudiantes.

Si los administradores no ceden y usted utiliza un proxy para conectarse a la web, es posible que pueda hacer que el proxy retransmita el tráfico (puede que funcione o no, dependiendo de cómo esté configurado el proxy). Ver¿Es posible SSH a través del puerto 80?

Por cierto, tu INPUTcadena permite todo el tráfico entrante, ya que solo tienes ACCEPTreglas y una ACCEPTpolítica. Un conjunto de reglas típico bloquearía el tráfico UDP entrante en puertos no examinados y bloquearía las conexiones TCP entrantes en puertos no examinados:

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 123 -j ACCEPT
iptables -P INPUT DROP

Respuesta2

Según su comentario, es casi seguro que la escuela tiene algún tipo de filtro para bloquear todo el tráfico que no sea el puerto 80 o todo el tráfico que no esté en la lista blanca. Probablemente podrías salirte con la tuya con un túnel HTTP SSH como está documentadoaquí, o puedes probar con un cliente ssh basado en navegadorcomo se muestra aquí.

información relacionada