
Tengo un escritorio Ubuntu y me dieron 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 SSH".
Buscar en Google este tema muestra muchas respuestas/artículos paracreandoClaves SSH, pero no para agregar una clave existente a hosts conocidos. ¿Ideas?
Respuesta1
No conozco los diferentes tipos de claves SSH. Pero pondrías la clave pública en la computadora de destino, no tu clave privada. Su clave privada permanece privada.
Y la clave pública de la computadora de origen debe colocarse en la computadora de destino. ~/.ssh/authorized_keys
Esto se puede hacer manualmente o mediante el ssh-keygen
comando.
Le sugiero que haga cat en la clave pública en la computadora de origen y cat en las claves_autorizadas en la computadora de destino y asegúrese de que la de la fuente parezca que tiene el mismo formato que las de las claves_autorizadas.
El archivo conocido_hosts es algo que se agrega automáticamente. No es necesario editarlo manualmente. Puede conectarse incluso después de eliminar el archivoknown_hosts.
EDITAR-
Incorporar algunos de los comentarios a la respuesta. La clave pública proviene de la clave privada. Normalmente, la clave privada permanece privada, pero al OP se le estaba dando 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 hacer ssh -i path/to/privatekeyfile user@dest
El OP está usando "openstack", algún servicio en la nube, y como dice el sitio de openstack docs.openstack.org/user-guide/content/ssh-into-instance.html Entonces, sea cual sea el nombre del archivo de clave privada es, y dondequiera que se almacene, usted especifica que al hacer$ ssh -i MyKey.pem [email protected]
ssh -i
Respuesta2
Según el ssh
manual:
-i archivo_identidad
Selecciona un archivo desde el cual se lee la identidad (clave privada) para la autenticación de clave pública. El valor predeterminado es ~/.ssh/identity para la versión 1 del protocolo y ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 y ~/.ssh/id_rsa para la versión 2 del protocolo.
P.ej .$ ssh -i mykey.pem [email protected]
También puede agregar su clave al agente de autenticación para evitar tener que pasar el archivo de identidad cada vez que desee conectarse al servidor remoto:
ssh-add: agrega identidades de clave privada al agente de autenticación OpenSSH
Por ejemplo, después de $ ssh-add mykey.pem
que puedas simplemente hacerlo .$ ssh [email protected]