Foi assim que resolvi o erro "ssh_exchange_identification: Conexão fechada pelo host remoto" ao conectar-se a um servidor SSH.
Eu recebi esse erro ao tentar conectar-me a uma máquina Linux embarcada, depois de descompactar um pacote para o root. Muitos arquivos de biblioteca foram substituídos, incluindo libssl.
Tentando se conectar:
chetic@ubuntu:~$ ssh -v [email protected]
OpenSSH_6.2p2 Ubuntu-6ubuntu0.3, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to SC [192.168.1.100] port 22.
debug1: Connection established.
debug1: identity file /home/delaval/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/delaval/.ssh/id_rsa-cert type -1
debug1: identity file /home/delaval/.ssh/id_dsa type -1
debug1: identity file /home/delaval/.ssh/id_dsa-cert type -1
debug1: identity file /home/delaval/.ssh/id_ecdsa type -1
debug1: identity file /home/delaval/.ssh/id_ecdsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2p2 Ubuntu-6ubuntu0.3
ssh_exchange_identification: read: Connection reset by peer
O Após uma reinicialização (conforme a sugestão de Karthik), o sshd não estava em execução. Eu tentei iniciar manualmente o sshd no destino:
# sshd
OpenSSL version mismatch. Built against 1000002f, you have 1000105f
Eu substituí o /usr/lib/libssl.a pela versão original e iniciei o sshd e as coisas voltaram ao normal. O problema foi no meu caso causado por uma versão incorreta no pacote que eu originalmente descompactei para root.