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.9e os nomes sejam hostnameehostname.domainname
Até onde eu entendi, a solução para conectar-se aos dois hosts é adicioná-los ao ~/.ssh/know_hostsarquivo. 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_hostsarquivo, 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, hostnameou 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.