
Então... precisamos atualizar o SSHD. Como podemos fazer isso sem ter o problema de que as pessoas (que estão fazendo login através do ssh) vejam a mensagem:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
0e:a1:b1:40:85:a2:a7:03:17:1b:52:8f:10:c7:b3:d0.
Please contact your system administrator.
Add correct host key in /home/USERNAME/.ssh/known_hosts to get rid of this message.
Offending key in /home/USERNAME/.ssh/known_hosts:13
RSA host key for [192.168.1.1]:22 has changed and you have requested strict checking.
Host key verification failed.
Responder1
Apenas atualizar o sshd normalmente não substituirá a chave do host. Então, sim, basta atualizá-lo e tudo ficará bem.
Nota: Normalmente você não precisará disso, mas se quiser estar seguro, você pode criar um backup das chaves do host ssh e copiá-las de volta após atualizar seu sistema. Normalmente você teria que fazer backup do arquivo /etc/ssh/ssh_host*
. Se algo der errado, você poderá restaurar os arquivos mais tarde.
Responder2
Sei que esta é uma pergunta antiga, mas acho que é um acréscimo válido para pesquisas futuras. Atualizar seu sshd não deve fazer com que a chave do host seja recriada, então você está bem com uma atualização. No entanto, atualizar seu servidor pode causar a criação de uma nova chave de host. A mensagem que você está descrevendo aparece quando o cliente ssh não reconhece a chave do host do servidor, portanto, qualquer coisa que altere a chave do host causará esse problema.
Uma maneira de contornar isso é remodelar o uso do ssh para usar certificados em vez de senhas e chaves. Embora isso exija algum trabalho e uma pequena remodelação, vale a pena você querer assinar melhor seus servidores. Há um guia muito bom aqui:
http://neocri.me/documentation/using-ssh-certificate-authentication/
Basicamente, o que você faz é criar uma CA para os servidores e uma CA para os usuários e, em seguida, usá-las para autenticar os clientes e servidores, respectivamente. Você ainda verá a mensagem acima se fizer login com nome de usuário/senha, mas para qualquer pessoa que fizer login com certificados, a única coisa que importa é que o certificado do host do servidor seja assinado pela CA do servidor.