El inicio de sesión SSH sin contraseña automática puede hacernos la vida más fácil. Para habilitar esto, tenemos 2 opciones: Usar la autenticación basada en claves copiando nuestras claves públicas SSH a las máquinas remotas para un inicio de sesión automático sin contraseña o usar la autenticación basada en contraseñas. Voy a presentar las 2 opciones en el post. Antes de comenzar, tenga en cuenta que la autenticación basada en claves generalmente se sugiere cuando su entorno de trabajo lo permite.,
Tabla de Contenidos
presentamos dos métodos en este post: el uso de ssh-copy-id de mando y de la forma manual.
generar par de claves SSH
Si aún no tiene un par de claves SSH privado/público, puede generar uno primero.
$ ssh-keygen -t rsa
Por defecto en Linux, el par de claves se almacenan en el ~/.ssh
nombre id_rsa
y id_rsa.pub
para la clave privada y pública.,
copiar la clave pública SSH a la máquina remota
tiene dos opciones aquí. A menos que no pueda usar el método ssh-copy-id
, puede probar el método «manual».
la forma más fácil
deje que ssh-copy-id lo haga automáticamente:
$ ssh-copy-id username@remotemachine
Si tiene varias claves en su directorio ~/.ssh
, es posible que deba usar -i key_file
para especificar qué clave usará.,
La forma manual
Copiar la clave pública de SSH a la máquina remota
$ scp .ssh/id_rsa.pub username@remotemachine:/tmp/
inicie Sesión en el equipo remoto
$ ssh username@remotemachine
adjuntar la clave pública de SSH a ~/.ssh/authorized_keys
asegúrese de que el modo de ~/.ssh / authorized_keys es 755:
$ chmod 755 ~/.ssh/authorized_keys
posibles problemas
algunos posibles problemas que le impiden configurar correctamente el inicio de sesión sin contraseña.,
Directory/file permissions
Home directory
Compruebe el permiso del directorio home que puede causar el error de inicio de sesión basado en claves (supongamos que el directorio home Es/home/zma):
# chmod 700 /home/zma/
~/.SSH permission
asegúrese de que el .el permiso del directorio ssh es 755:
$ chmod 755 ~/.ssh/
~/.SSH / authroized_keys permission
asegúrese de que el .el permiso del directorio ssh es 755:
$ chmod 755 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh/id_rsa$ chmod 700 ~/.ssh/id_rsa.pub
inicio de sesión ssh «sin contraseña» basado en Contraseña
Este método de inicio de sesión y autenticación sigue siendo por contraseña., Sin embargo, utilizamos una herramienta que nos ayuda a introducir la contraseña automáticamente. La herramienta es sshpass
que funciona muy bien.
el uso es muy simple de la siguiente manera proporcionando la contraseña en la línea de comandos:
$ sshpass -p "your_password_here" ssh username@remotemachine
o proporcionando la contraseña en la primera línea de un archivo
$ sshpass -f /path/to/file_storing_your_password ssh username@remotemachine
consideraciones de seguridad: antes de usar el sshpass
, lea sección «Consideraciones de seguridad» de la página man sshpass
para conocer los problemas de seguridad y solo usarlo cuando pueda tolerarlos.,