Connection closed by remote host
Esto a veces pasa de forma consciente y otras -las peores- sin el menor indicio. Intentando esto último obtengo un mensaje tal que así:
# ssh -vvv user@host
OpenSSH_4.3.1p1, SSH protocols 1.5/2.0, OpenSSL ...
debug1: Reading configuration data /usr/local/etc/ssh_config
debug1: Connecting to host [192.168.1.143] port 22.
debug1: Connection established.
debug1: identity file /export/home/user/.ssh/identity type -1
debug1: identity file /export/home/user/.ssh/id_rsa type -1
debug1: identity file /export/home/user/.ssh/id_dsa type -1
ssh_exchange_identification: Connection closed by remote host
#
Mi humilde teoría sobre lo ocurrido se basa en los timeouts de las conexiones (hay quien piensa como yo). Habitualmente (y más en algún que otro datacenter que no mencionaré) los firewalls están configurados para cortar una conexión activa siempre que el flujo de información no varíe en un tiempo dado, pongamos 5 minutos.
¿Qué pasa a los 5 minutos?, el firewall corta la conexión y el servidor se queda con las ganas. Intuyo que la conexión se viste de luto con una etiqueta defunct hasta que el administrador la mata definitivamente. ¿Y si el bueno del administrador no tiene acceso ssh para matar las tropecientas conexiones difuntas que pueda haber en el servidor?... Houston, we've a problem.
Menos mal que el trato desde Houston ha sido mejor de lo esperado, con recomendación incluida:
# echo ClientAliveInterval 300 >> /etc/ssh/sshd_config