El programa ssh-agent es un agente de autenticación que maneja contraseñas para claves privadas SSH. Use ssh-add para agregar las claves a la lista mantenida por ssh-agent. Después de agregar una contraseña de clave privada a ssh-agent, no necesita ingresarla cada vez que se conecta a un host remoto con su clave pública.
Generación de pares de claves de autenticación
Usa el ssh-keygen comando para generar pares de claves de autenticación como se describe a continuación. Proporcione una frase de contraseña, por ejemplo, "contraseña", al crear los pares de claves.
# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:4lYqkqgXmhIxoyMdT+ZfGFCxeMUqTnXLjrRQKjbEC/U root@geeklab The key's randomart image is: +---[RSA 2048]----+ | o. .oo. | |. o...ooo | | o .E=o+ . | |+ * B.+ o | |.* @ +.*S | |=.o.+.++o | |o=o...+. | |= .. o. | |o. | +----[SHA256]-----+
Copiar la clave pública al host remoto
1. Copie la clave pública en ~/.ssh/authorized_keys en el sistema remoto.
# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
2. Ahora intente iniciar sesión en la máquina, con "ssh '[email protected]'", y verifique en .ssh/authorized_keys archivo para asegurarnos de que no hemos agregado claves adicionales que no esperaba.
$ ssh 192.168.12.10 Enter passphrase for key '/root/.ssh/id_rsa': Last login: Wed Apr 06 09:03:50 2014 from 192.168.12.20
Agregar contraseña de clave privada a ssh-agent
1. Para agregar la contraseña de la clave privada a ssh-agent, ingrese el siguiente comando:
# exec ssh-agent $SHELL
2. El siguiente paso es usar el comando ssh-add para agregar la clave.
# ssh-add Enter passphrase for /root/.ssh/id_rsa: Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
3. El comando "ssh-add -l" enumera las huellas digitales de todas las identidades actualmente representadas por el agente.
# ssh-add -l 2048 SHA256:4lYqkqgXmhIxoyMdT+ZfGFCxeMUqTnXLjrRQKjbEC/U /root/.ssh/id_rsa (RSA)
4. Puede intentar iniciar sesión en el sistema remoto sin contraseña ahora.
$ ssh 192.168.12.10 Last login: Thu Apr 06 11:13:29 2014 from 192.168.12.20
En este ejemplo, la frase de contraseña se recuerda solo para la sesión de inicio de sesión actual y se olvida cuando cierra la sesión.