Intenté configurar git y usarlo para github, luego, cuando seguí el documento de ayuda, pero cuando llegué al paso 5 de la sección configurar claves ssh : probar todo, cuando usé este comando: ssh -T [email protected]
recibí un error :
ssh: conectarse al host github.com puerto 22: no hay ruta al host
Entonces 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 las iptables bloqueaban 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 se detiene en 115.156.255.174, que no sé dónde 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!
Respuestas:
Tu
INPUT
cadena acepta todo. No has mostrado tuOUTPUT
cadena, 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 obtener una mejor idea de dónde se interceptan sus paquetes instalando tcptraceroute y ejecutándose
tcptraceroute github.com 22
.Pídale al administrador de su escuela que abra el puerto 22, o al menos (si son reacios) al puerto 22
github.com
. Su uso de la red es un uso serio, que debe permitirse a los estudiantes.Si los administradores no se mueven, y usted usa un proxy para conectarse a la web, es posible que pueda obtener el proxy para retransmitir el tráfico (puede o no funcionar, dependiendo de cómo esté configurado el proxy). Ver ¿Es posible SSH a través del puerto 80?
Por cierto, su
INPUT
cadena permite todo el tráfico entrante, ya que solo tieneACCEPT
reglas y unaACCEPT
polí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:fuente
-v
indicadoriptables
para ver todas las partes de una regla).Según su comentario, es casi seguro que la escuela tenga 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ía salirse con la suya con un túnel HTTP SSH como se documenta aquí , o podría probar un cliente ssh basado en navegador como se muestra aquí .
fuente