Impedindo avisos de chave de host SSH RSA para alteração de chave vs endereço IP

9

Eu tenho uma rede com DHCP ativado e também um computador que inicializa sistemas operacionais e possui chaves SSH diferentes em cada uma (e sim, eu gostaria de manter chaves diferentes em cada uma delas, em vez de copiar a mesma identidade / chave privada para cada uma). Como o endereço IP não muda entre os sistemas operacionais porque o endereço MAC é o mesmo, ao conectar ao ssh, mesmo quando não estiver usando o endereço IP, mas o nome do host via DNS / mDNS, recebo o aviso:

Warning: the RSA host key for 'hostname' differs from the key for the IP address '192.168.1.172'
Offending key for IP in /Users/user/.ssh/known_hosts:37
Matching host key in /Users/user/.ssh/known_hosts:38
Are you sure you want to continue connecting (yes/no)?

Como posso suprimir o aviso quando o nome do host difere do endereço IP desse nome de host, mas retém a capacidade de verificar se as chaves do host são iguais para cada nome de host? (cada sistema operacional tem um nome de host exclusivo)

Adam MW
fonte

Respostas:

19

Coloque CheckHostIP nono seu arquivo ~ / .ssh / config. Arquivo de configuração de exemplo:

Host foo-win.local foo-win
  Hostname foo-win.local
  CheckHostIP no

Host foo-lin.local foo-lin
  Hostname foo-lin.local
  CheckHostIP no

Do ssh_config (5) :

CheckHostIP

Se esse sinalizador estiver definido como "yes", o ssh (1) verificará adicionalmente o endereço IP do host no arquivo known_hosts. Isso permite que o ssh detecte se uma chave de host foi alterada devido à falsificação de DNS. Se a opção estiver definida como "não", a verificação não será executada. O padrão é "yes".

PleaseStand
fonte
Funcionou muito bem, imediatamente. Obrigado pela resposta clara e rápida e concisa.
Adam MW