Eu não sei sobre diferentes tipos de chaves SSH. Mas você colocaria a chave pública no computador de destino, não sua chave privada. Sua chave privada permanece privada.
E a chave pública do computador de origem deve ser colocada no computador de destino em ~/.ssh/authorized_keys
Isso pode ser feito manualmente ou através do ssh-keygen
comando
Eu sugiro que você use cat na chave pública no computador de origem e cat em allowed_keys no computador de destino e verifique se o código-fonte se parece com o mesmo formato que os de autorizado_keys
O arquivo known_hosts é algo que é anexado automaticamente. Você não precisa editá-lo manualmente. Você pode se conectar mesmo depois de excluir o arquivo known_hosts.
EDITAR-
Incorporar alguns dos comentários na resposta. A chave pública vem da chave privada. Normalmente, a chave privada permanece privada, mas o OP estava recebendo uma chave privada, isso é incomum, mas é uma maneira interessante de fazer isso, porque significa que o computador de destino já pode ter sua chave pública. Para que ele pudesse efetuar login sem ter que adicionar nada às teclas_computadas do computador de destino. O ssh -i sempre pega uma chave privada. Ele precisa apenas fazer ssh -i path/to/privatekeyfile user@dest
O OP está usando "openstack", algum serviço em nuvem, e como o site openstack diz docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem ubuntu@10.0.0.2
Então, seja qual for o nome do arquivo da chave privada é, e onde quer que esteja armazenado, você especifica que ao fazerssh -i