Gerenciamento de chaves de hosts conhecidos SSH


Se a chave pública de um servidor for alterada porque a chave foi perdida devido a falha no disco rígido ou substituída por algum motivo legítimo, para fazer login com êxito, você precisará editar o arquivo de hosts conhecidos para substituir a chave pública antiga pela nova chave pública.

O arquivo /etc/ssh/ssh_known_hosts armazena o arquivo de chave pública para cada usuário no cliente SSH. Cada chave consiste em uma linha, em que o primeiro campo é uma lista de nomes de host e endereços IP que compartilham a chave pública. O segundo campo é o algoritmo de criptografia da chave. O último campo é a chave em si.

[developer1@host ~]$ cat ~/.ssh/known_hosts
hosta,172.25.250.11 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOsEi0e+FlaNT6jul8Ag5Nj+RViZl0yE2w6iYUr+1fPtOIF0EaOgFZ1LXM37VFTxdgFxHS3D5WhnIfb+68zf8+w=

Cada servidor SSH remoto que você conecta armazena sua chave pública e um arquivo com a extensão .pub no diretório /etc/ssh.

[developer1@hosta ~]$ ls /etc/ssh/*key.pub
/etc/ssh/ssh_host_ecdsa_key.pub  /etc/ssh/ssh_host_ed25519_key.pub  /etc/ssh/ssh_host_rsa_key.pub

É uma boa prática adicionar entradas que correspondam aos arquivos ssh_host_*key.pub do servidor para seu arquivo ~/.ssh/known_hosts ou o arquivo /etc/ssh/ssh_known_hosts de todo o sistema.

Referências