Ssh regolarmente in un computer che è un computer OS X / Linux a doppio avvio. Le due istanze del sistema operativo non condividono la stessa chiave host, quindi possono essere viste come due host che condividono lo stesso IP e DNS. Diciamo che l'IP è 192.168.0.9e i nomi sono hostnameehostname.domainname
Per quanto ho capito, la soluzione per essere in grado di connettersi ai due host è di aggiungerli entrambi al ~/.ssh/know_hostsfile. Tuttavia, è più facile a dirsi che a farsi, perché il file è hash, e ha probabilmente diverse voci per host ( 192.168.0.9, hostname, hostname.domainname). Di conseguenza, ho il seguente avvertimento
Warning: the ECDSA host key for 'hostname' differs from the key for the IP address '192.168.0.9'
C'è un modo semplice per modificare il known_hostsfile, mantenendo gli hash. Ad esempio, come posso trovare le righe corrispondenti a un determinato hostame? Come posso generare gli hash per alcuni host conosciuti?
La soluzione ideale mi consentirebbe di connettermi perfettamente a questo computer con ssh, indipendentemente dal fatto che io lo chiami 192.168.0.9, hostnameo hostname.domainname, se non usa la sua hostkey Linux o la sua hostkey OSX. Tuttavia, desidero comunque ricevere un avviso se esiste un vero attacco intermedio, ovvero se viene utilizzata una chiave diversa da queste due.