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.9
e i nomi sono hostname
ehostname.domainname
Per quanto ho capito, la soluzione per essere in grado di connettersi ai due host è di aggiungerli entrambi al ~/.ssh/know_hosts
file. 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_hosts
file, 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
, hostname
o 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.