2010-02-11 9 views
6

todos los días Me encuentro con un fenómeno muy extraño."ssh example.com" se bloquea pero "ssh example.com bash -i" no

Desde mi conexión a internet universitario, sshing a mi máquina ("ssh example.com") funciona sin ningún problema.

Desde mi ADSL en casa, "ssh example.com" mi consola se queda atascado con este mensaje:

debug1: Server accepts key: pkalg ssh-rsa blen 533 
debug1: Enabling compression at level 6. 
debug1: Authentication succeeded (publickey). 
debug1: channel 0: new [client-session] 
debug1: Requesting [email protected] 
debug1: Entering interactive session. 

A veces puede dejarme entrar, pero en la mayoría de los casos no. Lo curioso es que si ejecuto "ssh example.com bash -i" me conecto de inmediato.

Respuesta

11

fin encontré la fuente del problema. Tiene que ver con los paquetes TCP tipo SSH de servicio (ToS).

Cuando solicita un teminal ssh regular, ssh establece el tipo de paquete TCP de servicio (TOS) a "interactivo". ¡Mi enrutador en mi residencia bloquea esos tipos de paquetes!

Usando netcat, los paquetes TCP túnel obtener ningún tipo de directivas de servicios. Por lo tanto, si canaliza todo su tráfico ssh a través de netcat, restablece el ToS de los paquetes TCP a los predeterminados.

En .ssh/config, usted tiene que establecer:

Host *.example.com 
    ProxyCommand nc %h %p 

Por lo tanto, cada vez que intente ssh a example.com, netcat será llamado y el túnel de la voluntad de los paquetes.

0

La diferencia entre los dos casos es que "fiesta de -i" no le da un shell de entrada, pero sólo corriendo ssh hace. Puede "man bash" para obtener detalles de lo que es un "shell de inicio de sesión", pero lo principal es que ejecuta/etc/profile y su .bash_profile. Eche un vistazo a esos archivos para detectar cualquier cosa que pueda estar causando un problema.

0

Tal vez el servidor está fuera de ptys.

1

Acabo de tener el mismo problema. Intente iniciar sesión con un cliente ssh diferente para obtener más información. Mientras que el cliente de la línea de comandos de linux no regresó con ningún mensaje útil, Putty volvió con "server refused to allocate pty". Lo arreglé con mkdir/dev/pts y monte -a. Cómo estaba tan arruinado en primer lugar, estoy menos seguro.

Por cierto, -l fiesta debe actuar como un intérprete de ingreso por lo que debe ser capaz de probar la sugerencia de Peter Westlake correcta o incorrecta en su caso con bastante facilidad.

8

A partir de OpenSSH 5.7, que sólo puede agregar esto a su archivo de configuración de ssh (ya sea ~/.ssh/config o/etc/ssh/ssh_config):

 
Host * 
    IPQoS 0x00 

Esta es una forma más directa a trabajar alrededor del problema identificado por Asterios.

Cuestiones relacionadas