Cómo agregar un archivo PEM como clave privada SSH a "hosts conocidos"

8

Tengo el escritorio de Ubuntu y me han dado un archivo PEM ( mykey.pem) que es la clave privada SSH para un servidor Linux. Estoy tratando de averiguar dónde se debe colocar este archivo PEM localmente en mi máquina y cómo se puede configurar / agregar a mis "hosts conocidos de SSH".

Buscar en Google este tema presenta muchas respuestas / artículos para crear claves SSH, pero no para agregar una clave existente a hosts conocidos. Ideas?

smeeb
fuente
// , ¡Buena pregunta! Esto debería funcionar: $ ssh-keygen -y -f mykey.pem >> ~ / .ssh / certified_keys Demasiados departamentos de TI simplemente envían un archivo PEM sin ningún tipo de instrucciones sobre cómo usarlo localmente. Si alguien necesita más sobre esto, puedo agregar una respuesta.
Nathan Basanese

Respuestas:

5

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-keygencomando.

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 [email protected]Cualquiera sea el nombre del archivo de clave privada es, y donde sea que esté almacenado, especifique eso al hacerssh -i

barlop
fuente
Gracias @barlop (+1): si lees la primera oración de mi pregunta, verás que el archivo PEM es la clave privada SSH y que estoy tratando de instalarlo correctamente en mi computadora. No estoy preocupado por el lado del servidor, eso ya se ha ocupado de mí. Entonces mi pregunta es: ¿cómo instalo una clave privada en mi máquina Ubuntu? Era una clave que no generé a través de ssh-keygen; me lo dio una fuente confiable.
smeeb
1
@smeeb ¿por qué alguien te da su clave privada? su clave privada está destinada a ser privada para ellos.
barlop
Gracias de nuevo @barlop (+1) - Pero no es alguien, es OpenStack , un IaaS generador de nubes. Es un poderoso proyecto de código abierto con millones de horas hombre y respaldo corporativo. La vista de 30,000 pies aquí es: para crear una nueva "instancia de aplicación" en OpenStack Horizon, primero debe crear un par de claves SSH. OpenStack instala automáticamente la clave pública en la nueva instancia. Se supone que debe descargar la clave privada (un archivo PEM) e instalarla localmente para que pueda SSH en la instancia si lo desea.
smeeb
@smeeb No sé mucho sobre openstack, pero puede hacerlo, por ejemplo, ssh -i ~/.ssh/id_rsa [email protected] o como dice el sitio de openstack docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem [email protected] Cualquiera que sea el nombre de la clave privada archivo es, y donde sea que esté almacenado, especifique eso al hacerssh -i
barlop
1
Además, dado que la clave pública proviene de la clave privada, es posible que ese comando lo haga, ya que ya deberían tener la clave pública si le están dando una clave privada. Por lo tanto, no tendrá que agregar la clave pública a claves_autorizadas en su computadora, ya que ya estaría allí.
barlop