¿Cómo automatizar el inicio de sesión SSH con contraseña?
La autenticación mediante clave SSH permite conectarse a un servidor Linux sin tener que introducir la contraseña de su cuenta cada vez. También es una alternativa más segura que almacenar la contraseña del servidor en scripts, accesos directos o argumentos de la línea de comandos.
La autenticación SSH utiliza un par de claves criptográficas: una clave privada almacenada en su ordenador y una clave pública añadida al servidor.
Atención:
Nunca comparta su clave SSH privada ni almacene la contraseña del servidor en accesos directos, scripts o argumentos de la línea de comandos.
Generar una clave SSH
En Windows, macOS o Linux con OpenSSH instalado, abra Terminal, Windows Terminal o PowerShell y ejecute:
ssh-keygen -t ed25519
Siga las instrucciones para seleccionar dónde desea guardar la clave. También puede proteger la clave privada mediante una frase de contraseña.
De forma predeterminada, el comando crea una clave privada y su correspondiente clave pública en su directorio SSH.
Añadir la clave pública al servidor
Conéctese a su servidor Linux utilizando sus credenciales SSH actuales.
Añada el contenido de su clave pública al siguiente archivo del usuario con el que desea autenticarse:
~/.ssh/authorized_keys
Asegúrese de que el directorio SSH y el archivo authorized_keys tengan los permisos adecuados:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Conectarse mediante su clave SSH
Después de añadir la clave pública al servidor, conéctese mediante:
ssh username@server_ip -p ssh_port
Sustituya username, server_ip y ssh_port por los datos de conexión de su servidor. Puede encontrar el puerto SSH proporcionado para su servidor en el correo electrónico de bienvenida.
Si su clave privada está almacenada en una ubicación diferente a la predeterminada, especifíquela mediante la opción -i:
ssh -i /path/to/private_key username@server_ip -p ssh_port