
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 INPUT
cadena lo acepta todo. No has mostrado tu OUTPUT
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 tener una mejor idea de dónde se interceptan sus paquetes instalandotcptraceroruta y 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 INPUT
cadena permite todo el tráfico entrante, ya que solo tienes ACCEPT
reglas y una ACCEPT
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:
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í.