¿Qué puede causar una sesión ssh lenta? [cerrado]

46

Ssh en host remoto, pero el rendimiento del terminal es pobre. Los símbolos que estoy escribiendo no se muestran de inmediato, pero con cierto retraso. A veces se muestran dos símbolos a la vez después del retraso.

Lexys
fuente
Mosh es un buen reemplazo de ssh para prevenir este problema: mosh.mit.edu
Steven C. Howell
66
servidor ssh ... ¿por qué se cerró esto? Es claramente un problema del servidor. Claro, algunas de las respuestas aquí están basadas en opiniones, pero la pregunta debería estar bien.
j0h
55
¿Por qué se cierra esta pregunta? En mi caso, era del lado del servidor def: un puerto UDP cerrado 67/68. Había DHCP habilitado en una imagen genérica de Vultr, estaba tratando de renovar la IP del pub constantemente, pero estaba bloqueado por CSF. Permitir que esos puertos parecieran resolverlo, SSH rápido (y otros servicios de red) una vez más. Esté atento a eso si usa esa u otras imágenes VPS predeterminadas / similares.
dhaupin
55
Este es claramente un problema de red (común). Creo que no hay razón para cerrarlo, y definitivamente no está fuera de tema. Incluso (particularmente) cuando el problema puede tener múltiples causas que son difíciles de identificar.
mivk

Respuestas:

17

La alta latencia es otra causa del bajo rendimiento de ssh. Recomiendo usar mtr como un mejor reemplazo para traceroute. Debería poder darle una idea de dónde podrían ocurrir sus problemas de red.

David Pashley
fuente
13

Deshabilitar el reenvío X11 si no lo necesita (ssh -x) y habilitar la compresión (ssh -C) también puede acelerar su sesión.

Leñoso
fuente
9

Puedo pensar en dos posibles causas:

  1. Pérdida de paquetes en la conexión
  2. Alta carga en el servidor.
Shoan
fuente
3

Traté de medir el rendimiento de la red y pronto descubrí que el terminal estaba bien. ¿Lo que ha sucedido?

Tenemos un balance de carga entre dos enrutadores de canales de Internet. A veces enruta mi tráfico ssh a través de wan1 y a veces a través de wan2. Propuse que hay algo mal con un solo canal. Así que medí el rendimiento de la red con mtr (¡gran herramienta!) Para dos canales por separado.

¡sí! ¡wan2 tiene 21 saltos con 110 ms y wan1 tiene 15 con solo 21 ms! La latencia wan2 es el problema.

Lexys
fuente
3

Use Compression y CompressionLevel of 9. Eso debería ayudar un poco. Puede configurar estos parámetros en / etc / ssh / ssh_config. Pero si la red real es muy pobre, estos trucos no servirán de mucho.

Saurabh Barjatiya
fuente
2

La causa más obvia de este comportamiento es el enlace que está saturado o descartando paquetes. ¿Cuántos saltos tienes desde tu estación de trabajo hasta la máquina en la que te estás metiendo? ¿Ha analizado un trazado de ruta, si corresponde?

Jan Jungnickel
fuente
2

Si está utilizando OpenSSH en una tubería larga y gruesa (alto ancho de banda + alta latencia), asegúrese de utilizar al menos la versión 4.7 en ambos lados porque contiene correcciones para hacer que OpenSSH use un tamaño de ventana tcp más grande.

 * The SSH channel window size has been increased, and both ssh(1)
   sshd(8) now send window updates more aggressively. These improves
   performance on high-BDP (Bandwidth Delay Product) networks.

Esto puede ser importante si desea utilizar la conexión en todo su potencial porque, de lo contrario, un remitente puede tener que esperar un reconocimiento antes de poder continuar enviando.

Knweiss
fuente
1

Como ya lo han dicho otros, puede provenir de latencia, pérdida en su red, servidor lento.
En algún momento ves 2 caracteres en un tipo porque la pila TCP moderna usa un algoritmo llamado Naggle .

radio
fuente
1
El algoritmo de Nagle siempre está deshabilitado en aplicaciones interactivas como telnet y SSH
LapTop006
1
No tiene suficiente información para decir "siempre". No sabemos qué cliente / servidor ssh está usando. No sabemos el sistema operativo que está ejecutando. etc. Con algunos sistemas operativos, una configuración de nivel de kernel podría tener un impacto en TCP_NODELAY establecido a nivel de aplicación.
radio
1

También podría ser un intento de SSH Brute Force que acelera su conexión. Cada vez que mi sesión transcurre lentamente, reviso los registros y, en muchos casos, alguien intenta contraseñas como locos.

raupach
fuente
1

DNS mal configurado puede causar esto. El servidor responderá bien una vez que inicie sesión y cargará y descargará archivos bastante rápido, pero los inicios de sesión SSH serán lentos.

ServerChecker
fuente
1
Descubrí que puedo colocar una entrada de IP en / etc / hosts para un servidor que tiene un inicio de sesión SSH lento y que generalmente acelera la conexión inicial. Pero la solución real es hacer que el DNS funcione correctamente.
ServerChecker
1

Una cosa a tener en cuenta es simplemente la memoria del servidor. Estaba ejecutando una máquina virtual Ubuntu con 256Mb de memoria y SSH era realmente lento. Duplicar esto a 512Mb resolvió el problema.

GateKiller
fuente