No sé acerca de los diferentes tipos de claves SSH. Pero pondría la clave pública en la computadora de destino, no su clave privada. Su clave privada permanece privada.
Y la clave pública de la computadora de origen debe colocarse en la computadora de destino en ~/.ssh/authorized_keys
Esto se puede hacer manualmente o mediante el ssh-keygen
comando.
Le sugiero que use cat en la clave pública en la computadora de origen y cat en claves autorizadas en la computadora de destino y asegúrese de que la fuente tenga el mismo formato que las de claves autorizadas
El archivo known_hosts es algo que se agrega automáticamente. No necesita editarlo manualmente. Puede conectarse incluso después de eliminar el archivo known_hosts.
EDITAR-
Incorporar algunos de los comentarios en la respuesta. La clave pública proviene de la clave privada. Normalmente, la clave privada permanece privada, pero al OP se le dio una clave privada, esto es inusual, pero es una forma interesante de hacerlo, porque significa que la computadora de destino ya puede tener su clave pública. Para poder iniciar sesión sin tener que agregar nada a las claves autorizadas de la computadora de destino. ssh -i siempre toma una clave privada. Solo necesita hacerlo. ssh -i path/to/privatekeyfile user@dest
El OP está usando "openstack", algún servicio en la nube, y como dice el sitio openstack docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem ubuntu@10.0.0.2
Cualquiera sea el nombre del archivo de clave privada es, y donde sea que esté almacenado, especifique eso al hacerssh -i