Gerenciando entradas no arquivo known_hosts
ssh-keygen -F NomeOuIPdoHost
ssh-keygen -F 192.168.1.101 # Host 192.168.1.101 found: line 50 type RSA |1|DJ6YXFhfYFK8ukUkNCOXEc9QF3c=|tg+/RWiLASs/o6 tHRELd2W1G/b8= ssh-rsa AAAAB3NzaC1yc2EAAAABIw AAAQEAlzmiNUQRcU/HlyRxVER+MJUqpk/ qIqkhzfM9Xr qWf1BDzwISRjC7781QR5JrFeDxO9r3GSgZOTHCKkAH8m2d 3rWAJQ 6itBAoOPzLTZxX7sEUpTI5XF8+YrFRx+y83oKF 2xMB2pIKuWgeXKYIkb0+WsJTo 0JdNd5z4/RQVB7tQXE9 7MKqTy6ul6tm5oRPkNwTXEzsH+vFmy5XqAfqgsRcM975 l+BKXtath6uWrBaSsumQMvqgaiPZGVvtrIjplMe6Yoyv1A mFy2o6ggqR9UO+Bu0 HAwxpAsFNGk2fDoFSL7t2MOzKQi
|
mario@neo $ ssh root@192.168.1.100 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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 c4:21:35:34:9c:c8:5c:dd:bb:99:e6:1b:8b:5c:d8:6c. Please contact your system administrator. Add correct host key in /home/mario/.ssh/known_hosts to get rid of this message. Offending key in /home/mario/.ssh/known_hosts:39 RSA host key for 192.168.1.100 has changed and you have requested strict checking. Host key verification failed. mario@neo $ |
Isto é importante porque é uma forma de evitar ataques do tipo man-in-the-middle.
Por outro lado, se tivermos certeza de que o servidor é autêntico, por exemplo, devido a uma troca de placa de redes, devemos alterar a chave do servidor no nosso arquivo known_hosts. Uma forma de fazer isso é remover a chave do arquivo known_hosts, pois mo próximo acesso a nova chave será armazenada.
Se observarmos a mensagem do exemplo, veremos que a divergência ocorreu na linha 39 do arquivo. Poderíamos então editar o arquivo known_hosts e remover apenas a linha 39. Esta é a forma manual.
Há, no entanto, uma maneira mais elegante de fazer isso: basta usar o utilitário ssh-keygen com a opção -R seguida do nome (ou endereço) do host. Por exemplo, para remover a chave do host acessado no exmplo:
|
mario@neo $ ssh-keygen -R 192.168.1.100 /home/mario/.ssh/known_hosts updated. Original contents retained as /home/mario/.ssh/known_hosts.old |
No próximo acesso ao servidor 192.168.1.100, seremos novamente avisados que o este é o primeiro acesso ao servidor:
|
mario@neo ~$ ssh root@192.168.1.100 The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established. RSA key fingerprint is c4:21:35:34:9c:c8:5c:dd:bb:99:e6:1b:8b:5c:d8:6c. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.100' (RSA) to the list of known hosts. root@192.168.1.100's password: |
Observe que o SSH nos avisa que o host remoto nunca foi acessado e nos pede a confirmação antes de adicionar a chave no arquivo known_hosts e prosseguir com o acesso.
Por padrão, o ssh-keygen irá acessar o arquivo de chaves armazenado em /home/usuario/.ssh/known_hosts. É possível especificar outro arquivo de chaves utilizando a opção -f nome do arquivo.
É isso!
Até a próxima,
Marião


Feed RSS
Imprimir
Veja também...