1.3.2. Generación de pares de claves SSH
Utilice este procedimiento para generar un par de claves SSH en un sistema local y para copiar la clave pública generada en un servidor OpenSSH
. Si el servidor está configurado como corresponde, podrá iniciar sesión en el servidor OpenSSH
sin necesidad de proporcionar ninguna contraseña.
Si completa los siguientes pasos como root
, sólo root
podrá utilizar las llaves.
Procedimiento
Para generar un par de claves ECDSA para la versión 2 del protocolo SSH:
$ ssh-keygen -t ecdsa Generating public/private ecdsa key pair. Enter file in which to save the key (/home/joesec/.ssh/id_ecdsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/joesec/.ssh/id_ecdsa. Your public key has been saved in /home/joesec/.ssh/id_ecdsa.pub. The key fingerprint is: SHA256:Q/x+qms4j7PCQ0qFd09iZEFHA+SqwBKRNaU72oZfaCI joesec@localhost.example.com The key's randomart image is: +---[ECDSA 256]---+ |.oo..o=++ | |.. o .oo . | |. .. o. o | |....o.+... | |o.oo.o +S . | |.=.+. .o | |E.*+. . . . | |.=..+ +.. o | | . oo*+o. | +----[SHA256]-----+
También puede generar un par de claves RSA utilizando la opción
-t rsa
con el comandossh-keygen
o un par de claves Ed25519 introduciendo el comandossh-keygen -t ed25519
.Para copiar la clave pública en una máquina remota:
$ ssh-copy-id joesec@ssh-server-example.com /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed joesec@ssh-server-example.com's password: ... Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'joesec@ssh-server-example.com'" and check to make sure that only the key(s) you wanted were added.
Si no utiliza el programa
ssh-agent
en su sesión, el comando anterior copia la clave pública más recientemente modificada~/.ssh/id*.pub
si aún no está instalada. Para especificar otro archivo de clave pública o para dar prioridad a las claves en archivos sobre las claves almacenadas en la memoria porssh-agent
, utilice el comandossh-copy-id
con la opción-i
.
Si reinstalas tu sistema y quieres conservar los pares de claves generados anteriormente, haz una copia de seguridad del directorio ~/.ssh/
. Después de reinstalar, cópialo de nuevo en tu directorio principal. Puedes hacer esto para todos los usuarios de tu sistema, incluyendo root
.
Pasos de verificación
Inicie sesión en el servidor OpenSSH sin proporcionar ninguna contraseña:
$ ssh joesec@ssh-server-example.com Welcome message. ... Last login: Mon Nov 18 18:28:42 2019 from ::1
Recursos adicionales
-
ssh-keygen(1)
yssh-copy-id(1)
páginas man