Automatización del inicio de sesión de SSH sin contraseña
Cuando tenemos que conectarnos a un servidor remoto mediante SSH, es necesario enviar nuestras credenciales (nombre de usuario y contraseña) para poder iniciar sesión. Esto puede ser tedioso y poco práctico si necesitamos conectarnos frecuentemente. Una alternativa es automatizar el proceso de inicio de sesión sin contraseña. En este artículo aprenderemos cómo hacerlo.
Requisitos previos
Para poder seguir los pasos que se describen en este artículo, necesitamos lo siguiente:
- Un servidor remoto que ejecute el protocolo SSH
- Un usuario con permisos para conectarse al servidor mediante SSH
- Acceso a una terminal o línea de comandos desde nuestro equipo local
Generar una clave SSH
El primer paso para poder iniciar sesión sin contraseña es generar una clave SSH. Para ello, ejecutamos el siguiente comando desde nuestra terminal o línea de comandos:
ssh-keygen -t rsa
Este comando generará una clave pública y una clave privada en nuestro equipo local. La clave pública se debe instalar en el servidor remoto, mientras que la clave privada se queda en nuestro equipo.
Instalar la clave pública en el servidor remoto
Una vez generada la clave pública, debemos instalarla en el servidor remoto. Para ello, podemos utilizar el siguiente comando:
ssh-copy-id usuario@servidor-remoto
Este comando copiará nuestra clave pública al archivo authorized_keys del usuario especificado en el servidor remoto.
Probar la conexión SSH sin contraseña
Una vez instalada nuestra clave pública en el servidor remoto, podemos probar si podemos conectarnos sin enviar nuestras credenciales. Para ello, ejecutamos el siguiente comando:
ssh usuario@servidor-remoto
Si todo ha ido bien, deberíamos haber iniciado sesión en el servidor remoto sin necesidad de enviar nuestras credenciales.
Conclusión
Ahora hemos aprendido cómo automatizar el proceso de inicio de sesión en un servidor remoto mediante SSH sin necesidad de enviar nuestras credenciales. ¡Ya no tendremos que ingresar la contraseña una y otra vez! Si tienes algún problema o duda, no dudes en contactar con el equipo de soporte de tu servidor remoto.
Preguntas frecuentes
¿Dónde se almacenan las claves SSH?
Las claves SSH se almacenan en el directorio ~/.ssh en nuestro equipo local.
¿Cómo puedo cambiar el tipo de clave SSH que genero?
Podemos cambiar el tipo de clave SSH que generamos modificando el parámetro -t seguido del nombre del tipo de clave que queremos generar. Por ejemplo, si queremos generar una clave de tipo ED25519, ejecutamos el siguiente comando:
ssh-keygen -t ed25519
¿Qué debo hacer si pierdo mi clave privada?
Si perdemos nuestra clave privada, debemos generar una nueva clave y volver a instalarla en el servidor remoto.
¿Cómo puedo cambiar la ubicación de mis claves SSH?
Podemos cambiar la ubicación de nuestras claves SSH modificando las variables SSH_HOME y SSH_KEY_PATH en nuestro archivo de configuración de SSH.
Ejemplos de código y comandos
Aquí van algunos ejemplos adicionales de comandos que pueden resultar útiles:
ssh-add
- Agrega nuestra clave privada a ssh-agent para no tener que ingresarla cada vez que hacemos una conexión SSH.
ssh -p puerto usuario@servidor-remoto
- Conecta con el servidor remoto en el puerto especificado.
chmod 700 ~/.ssh
- Otorga permisos de lectura y escritura solo al usuario para el directorio .ssh.
chmod 600 ~/.ssh/clave_privada
- Otorga permisos de lectura y escritura solo al usuario para la clave privada.
Deja una respuesta