Masilla: 'El servidor cerró inesperadamente la conexión de red'

11

Masilla 'Conexión de red cerrada inesperadamente del servidor' He estado recibiendo la 'Conexión de red cerrada inesperadamente del servidor' (consulte /superuser/735824/putty-ends-to-an-unexpected-error-and-vnc- shows-terminal-with-error y Getting "El servidor cerró inesperadamente la conexión de red" ) pero no está asociado con ningún reinicio, la conexión simplemente falla inesperadamente y con él, el servidor web (Apache) se ejecuta fuera del servidor Linux. Utilizo Putty a través de Windows 7 para conectarme a una Raspberry Pi con Raspbian. ¿Alguna idea de lo que podría estar yendo mal?

Grant_Bailey
fuente

Respuestas:

13

Una sesión PuTTY que permanezca inactiva se desconectará en un momento determinado por el servidor host. Intenta habilitar keep-alives en PuTTY. Esto hace que PuTTY envíe paquetes SSH nulos al host remoto periódicamente, evitando que la sesión agote el tiempo de espera.

El cliente PuTTY se puede configurar para establecer siempre una conexión que no se agote debido a la inactividad. Para crear y guardar una nueva conexión de mantenimiento, siga estos pasos:

  1. Abra la aplicación PuTTY y vaya al panel Opciones (etiquetado "Categoría") a la izquierda de la ventana.
  2. Seleccione (haga clic) el elemento "Conexión".
  3. En el área "Envío de paquetes nulos para mantener la sesión activa" a la derecha, cambie el valor predeterminado de "Segundos entre keepalives" de 0 (desactivar) a 1800 (30 minutos).
  4. Seleccione la casilla de verificación "Habilitar TCP keepalives (opción SO_KEEPALIVE)". Nota: es posible que esta opción no esté disponible en versiones anteriores del cliente PuTTY.
  5. En la parte superior izquierda del panel de Opciones, seleccione (haga clic) "Sesión".
  6. En el campo "Nombre de host (o dirección IP)", ingrese el nombre de host o la dirección IP de destino (por ejemplo, "destination.ipaddress.here.com" o "192.168.1.1").
  7. En el cuadro de entrada de texto "Sesiones guardadas", proporcione un nombre para la sesión (por ejemplo, "sesión guardada").
  8. Seleccione "Guardar".

Para usar la configuración de sesión modificada, selecciónela de la lista "Sesiones guardadas", luego haga clic en los botones marcados "Cargar" y "Abrir".

Si sus sesiones conectadas aún caducan, ingrese un número menor de segundos en el valor "Segundos entre keepalives".

afrab_null
fuente
Esto también es incorrecto. Una conexión TCP no tiene tiempo de espera. Si el principio de extremo a extremo se ve socavado por NAT o similar, las asignaciones de conexión en estos dispositivos pueden expirar. SSH, por defecto, nunca agota el tiempo de espera. En una conexión a Internet adecuada, una conexión SSH inactiva permanecerá abierta indefinidamente.
Daniel B
Ssh ofrece dos tipos de keep-alives: TCP keep-alives y ssh keep-alives. TCP ofrece un mecanismo para cerrar automáticamente las conexiones consideradas inactivas debido al tiempo de espera. Se trata de activar una bandera en el zócalo.
Raúl Salinas-Monteagudo
He estado bajando el número y he vuelto a 0 y todavía no funciona. ¿Hay alguna solución diferente para esto?
myselfmiqdad
1

El servidor podría haberse endurecido. La razón podría ser a) que la IP del cliente no esté configurada en / etc / allowhosts y / ob) unix / linux firewall rule / selinux no lo permite.

AVA
fuente
0

Tuve el mismo problema durante mucho tiempo, utilizo masilla para conectarme a instancias de AWS Linux (algunos servidores remotos en la nube). Leí sobre solucionarlo con keepAlives en varias páginas, lo probé pero fue en vano.

Y ayer mismo, mientras buscaba algunas configuraciones de combinación de colores, encontré esto: https://github.com/jblaine/solarized-and-modern-putty

Además de ajustar los colores del terminal, aplica algunos valores predeterminados razonables (como KeepAlives antes mencionado a 59 segundos más otros), ¿y adivina qué? No he tenido ninguna conexión cerrada durante dos días completos.

Mario Chapa
fuente
-1

Estuvo inactivo durante más tiempo que el tiempo de espera de la sesión en el dispositivo remoto, por lo que cerró la sesión y PuTTy no lo esperaba.

cpt_fink
fuente
1
Sin embargo, no exactamente: si cierra la sesión (o si cierra la sesión de forma forzada), la conexión finaliza correctamente. Lo que sucedió aquí es que la conexión TCP subyacente se cerró de alguna manera ("Restablecimiento de la conexión por igual"), por lo tanto, "inesperadamente".
Daniel B
¿Dónde ves "reset"? Para mí, el significado obvio de "inesperadamente cerrado" es TCP-close no esperado en el nivel SSH, y las pruebas lo confirman: si salgo de mi shell o lo mato, obtengo varios paquetes SSH (me asalto CHANNEL_EOF, CHANNEL_CLOSED y / o DESCONECTAR) luego el intercambio de FIN y Putty aparece "cerrado por host remoto"; OTOH si mato -9 mi sshd obtengo solo intercambio TCP FIN y "conexión de red cerrada inesperada del servidor". Si fue RST (y no en SYN, donde significa rechazado) sospecharía de un middlebox, de acuerdo con su otro comentario.
dave_thompson_085
@ dave_thompson_085 Tienes razón, confundí FIN y RST. De lo contrario, KiTTY dice "El software provocó la cancelación de la conexión".
Daniel B