Cómo configurar ssh de forma que no nos pida una contraseña
Puede crear una clave de autenticación RSA para ser capaz de entrar en un sitio remoto desde su cuenta, sin tener que escribir su contraseña.
Tenga en cuenta que una vez que lo configure así, si un intruso entra en su cuenta/máquina, ¡tendrá también acceso al sitio al que tiene acceso sin clave! Por esta razón, nunca debería hacer esto como root.
- Ejecute
ssh-keygen
en su máquina, y simplemente presione Enter cuando se le pregunte una contraseña.
Esto producirá una clave privada y otra pública. Con versiones antiguas de ssh, se almacenarán en~/.ssh/identity
y~/.ssh/identity.pub
; con las nuevas, serán~/.ssh/id_rsa
y~/.ssh/id_rsa.pub
. - Luego, agregue el contenido del fichero de clave pública
al ~/.ssh/authorized_keys de la réplica (el fichero
debería tener modo 600).
Si usted es un desarrollador y desea tener acceso a los sistemas debian.org con dicha clave, es posible hacer que la base de datos de desarrolladores propague su clave a todas esas máquinas. Vea la documentación de la pasarela al LDAP.
Ahora debería poder usar ssh para entrar en la réplica remota sin que se le pida una contraseña.
Importante: Tenga en cuenta que cualquiera que tenga
derechos de lectura sobre el fichero de clave privada puede usarlo si
tiene el mismo acceso sin password a su máquina local. Esto incluye
cualquier persona que tenga acceso de root en la máquina local. Por tanto,
se recomienda que proteja la porción privada con una frase clave si no es
el único administrador de la máquina. Puede usar ssh-agent(1)
y ssh-add(1)
para escribir la frase clave sólo una vez para
todos los usos de una clave específica en una sesión. Puede cargar
automáticamente todas sus claves en el agente añadiendo las siguientes
líneas a su fichero ~/.xsession
:
# si use-ssh-agent está especificado en /etc/X11/Xsession.options # (lo está de forma predeterminada) entonces sólo necesita la # segunda línea # eval ssh-agent ssh-add <filename-of-ssh-key>
El paquete ssh-askpass
debe estar instalado para poder
ejecutar ssh-add
sin una terminal.