O nome id_rsa.pub
parece uma chave pública do usuário. Isso não tem nada a ver com known_hosts
- known_hosts
armazena as chaves do host. Chaves de host, como o nome indica, autenticam um host (ou seja, um computador), enquanto as chaves de usuário autenticam um usuário. As chaves públicas do host do OpenSSH geralmente estão localizadas em /etc
ou /etc/ssh
e chamadas algo como ssh_host_rsa_key.pub
.
O Dropbear possui um único arquivo contendo a chave privada. Para extrair a chave pública (em um formato compatível entre Dropbear e OpenSSH), execute
dropbearkey -f /etc/dropbear/dropbear_rsa_host_key -y | sed -n 2p >host_key.pub
Eu não acho que o OpenSSH venha com um comando para atualizar o arquivo known_hosts
. É fácil de fazer manualmente:
echo "$server_name,$server_ip_address $(cat server_ssh_host_rsa_key.pub)" >>~/.ssh/known_hosts
Se você quiser nomes de host hash (para que alguém que leia seu arquivo known_hosts
não possa saber os nomes desses servidores - é um ganho de privacidade muito menor), execute ssh-keygen -H
posteriormente.