Eu ssh regularmente em um computador que é um computador com OS X / Linux de inicialização dupla. As duas instâncias do SO não compartilham a mesma chave do host, portanto podem ser vistas como dois hosts compartilhando o mesmo IP e DNS. Digamos que o IP seja 192.168.0.9
e os nomes sejam hostname
ehostname.domainname
Até onde eu entendi, a solução para conectar-se aos dois hosts é adicioná-los ao ~/.ssh/know_hosts
arquivo. No entanto, é mais fácil dizer do que fazer, porque o arquivo é hash, e tem provavelmente várias entradas por host ( 192.168.0.9
, hostname
, hostname.domainname
). Como consequência, tenho o seguinte aviso
Warning: the ECDSA host key for 'hostname' differs from the key for the IP address '192.168.0.9'
Existe uma maneira fácil de editar o known_hosts
arquivo, mantendo os hashes. Por exemplo, como posso encontrar as linhas correspondentes a um determinado hostame? Como posso gerar os hashes para alguns hosts conhecidos?
A solução ideal seria permitir-me para ligar para perfeitamente a este computador com ssh, não importa se eu chamá-lo 192.168.0.9
, hostname
ou hostname.domainname
, nem se ele usa sua HostKey Linux ou seu HostKey OSX. No entanto, ainda quero receber um aviso se houver um ataque real no meio, ou seja , se outra chave além dessas duas for usada.