Chaves do host do SSH


O SSH garante a segurança da comunicação por meio da criptografia de chaves públicas. Quando um cliente SSH se conecta a um servidor SSH, ele envia uma cópia da chave pública ao cliente antes de o cliente fazer login. Essa chave ajuda a configurar a criptografia segura do canal de comunicação e a autenticar o sistema do cliente.

Quando um usuário executa o comando ssh para se conectar a um servidor SSH, o comando verifica se há uma cópia da chave pública desse servidor em seu arquivo host local conhecido. A chave pode estar pré-configurada no arquivo /etc/ssh/ssh_known_hosts ou o usuário pode ter o arquivo ~/.ssh/known_hosts que contém a chave em seu diretório pessoal.

Se o cliente tiver uma cópia da chave, o comando ssh comparará a chave dos arquivos de servidor host conhecidos com a chave recebida. Se as chaves não corresponderem, o cliente entenderá que o tráfego de rede ao servidor está comprometido e solicitará que o usuário confirme se deve ou não continuar com a conexão.

Defina o parâmetro StrictHostKeyChecking como yes no arquivo ~/.ssh/config específico do usuário ou no arquivo /etc/ssh/ssh_config válido para todo o sistema para que o comando ssh sempre anule a conexão por SSH se as chaves públicas não corresponderem.

O comando ssh solicita confirmação de login quando o cliente não tem uma cópia da chave pública em seus arquivos de hosts conhecidos. A cópia da chave pública é salva no arquivo ~/.ssh/known_hosts para confirmar a identidade do servidor para o futuro automaticamente.

[developer1@host ~]$ ssh hostb
The authenticity of host 'hosta (172.25.250.12)' can't be established.
ECDSA key fingerprint is SHA256:qaS0PToLrqlCO2XGklA0iY7CaP7aPKimerDoaUkv720.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hostb,172.25.250.12' (ECDSA) to the list of known hosts.
developer1@hostb's password: redhat
...output omitted...
[developer1@hostb ~]$

Verifique a impressão digital da chave de host SSH do servidor usando o comando a seguir.

[developer1@hostb ~]$ ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
256 SHA256:qaS0PToLrqlCO2XGklA0iY7CaP7aPKimerDoaUkv720 root@server (ECDSA)

Referências