¡Hola, colega! Configurar el acceso SSH a tu VPS parece una tarea sencilla, pero créeme, me pasé *diez horas* de mi vida lidiando con diferentes problemas. En este artículo te explicaré cómo hacerlo correctamente, rápidamente y sin dolores de cabeza. Olvídate de las búsquedas infinitas en Google y los errores incomprensibles: reuniré todo lo necesario en un solo lugar. Prepárate para unas instrucciones *tan* detalladas que hasta tu gato las entenderá (bueno, casi).
Antes de empezar, asegúrate de tener todo lo necesario. Necesitarás acceso a tu VPS a través del panel de control (por ejemplo, el panel de control de DigitalOcean, Vultr, AWS u otro). También necesitarás un cliente SSH en tu ordenador local (Putty para Windows, la terminal integrada para macOS/Linux). ¡Comprueba tu conexión a internet! Sin ella, no llegarás a ninguna parte. Yo, por ejemplo, una vez intenté configurar SSH sin internet… ¿Divertido, verdad? Pero en ese momento no fue nada gracioso.
Otro punto importante: ¡conoce tu dirección IP del VPS! Normalmente se indica en el panel de control. Anótala en algún sitio para no olvidarla. Yo suelo usar el bloc de notas, pero puedes usar algo más avanzado si quieres. Recuerda, *nunca* descuides las cosas elementales, esto te ahorrará muchos nervios en el futuro.
Finalmente, asegúrate de tener permisos de root o sudo en tu ordenador local. Sin ellos, no podrás ejecutar algunos comandos. Si no sabes cómo hacerlo, busca en Google «cómo obtener permisos sudo en [tu sistema operativo]». Esto te llevará solo un par de minutos, pero te ahorrará mucho tiempo después. ¡Créeme!
# Ejemplo de comprobación de acceso sudo en Linux
sudo whoami
Salida esperada: root
Generación de la clave SSH
Ahora que todo está listo, vamos a generar un par de claves SSH. Esto es necesario para una conexión segura a tu VPS. ¡No uses contraseñas para SSH, es una mala práctica! En su lugar, usaremos claves. Es como la llave de tu apartamento, pero para tu servidor. Y así es como se hace:
Se te pedirá que indiques la ubicación para guardar las claves y que establezcas una contraseña (recomiendo *no* establecer una contraseña, pero eso depende de ti). Simplemente presiona Enter si no quieres contraseña. Tendrás dos archivos: `id_rsa` (clave privada – ¡*guárdala en secreto!* ) y `id_rsa.pub` (clave pública – esta la añadiremos al servidor).
Aquí es donde a menudo surge un problema: la gente olvida dónde guardó sus claves. ¡Una vez pasé medio día buscando mi clave privada! Así que, comprueba dónde se guardaron tus archivos. Normalmente es `~/.ssh/`.
cat ~/.ssh/id_rsa.pub
Este comando mostrará el contenido de la clave pública. Necesitaremos este texto un poco más tarde.
Añadir la clave al VPS
Ahora hay que añadir tu clave pública a tu VPS. Hay varias maneras de hacerlo. La más sencilla es usar el comando `ssh-copy-id`. Pero si no funciona, siempre puedes añadir la clave manualmente.
Método 1: `ssh-copy-id`
ssh-copy-id usuario@tu_ip_dirección
Reemplaza usuario@tu_ip_dirección con tu nombre de usuario y la dirección IP del VPS. Es posible que se te pida que introduzcas la contraseña del usuario en el VPS (si no tienes configurada la autenticación por clave).
Método 2: Adición manual
Si `ssh-copy-id` no funciona (por ejemplo, debido a problemas de red), puedes añadir la clave manualmente. Conéctate a tu VPS a través de SSH (si es posible, incluso con contraseña), abre el archivo `~/.ssh/authorized_keys` y añade allí el contenido de tu clave pública. Si el archivo `authorized_keys` no existe, créalo.
Reemplaza tu_clave_publica con el texto que copiaste usando `cat ~/.ssh/id_rsa.pub`.
Configuración del archivo sshd_config
El archivo `/etc/ssh/sshd_config` contiene la configuración del servidor SSH. Aquí puedes configurar diferentes parámetros, como el puerto, la autorización de inicio de sesión de root y otros. *Te recomiendo* que no lo toques si no es necesario, si todo funciona correctamente. Pero si quieres cambiar el puerto, así es como se hace:
Busca la línea `Port 22` y cámbiala por el puerto deseado (por ejemplo, `Port 2222`). Guarda los cambios. Después de esto, reinicia el servidor SSH:
sudo systemctl restart sshd
Advertencia: cambiar el puerto puede causar problemas con otros servicios que usan el puerto 22. ¡Ten cuidado!
Aquí tienes un ejemplo del archivo `sshd_config` con el puerto cambiado:
#Subsystem sftp /usr/lib/openssh/sftp-server
Port 2222
Protocol 2
#LogLevel INFO
#LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
#PermitEmptyPasswords no
Comprobación del funcionamiento de SSH
¡Por fin! Es hora de comprobar si todo funciona. Intenta conectarte a tu VPS a través de SSH, usando la clave generada. Si has cambiado el puerto, asegúrate de indicarlo correctamente.
ssh -p 2222 usuario@tu_ip_dirección
(Reemplaza 2222 con tu puerto, si lo has cambiado). Si todo está configurado correctamente, deberías conectarte sin que te pida la contraseña. Si no… bueno, tendrás que comprobarlo todo de nuevo. Mira los logs:
sudo journalctl -xe
Este comando mostrará las últimas entradas del registro del sistema. Busca allí los errores relacionados con SSH.
Si todo está OK, ¡felicidades! ¡Has configurado correctamente el acceso SSH a tu VPS! ¡Esta configuración está genial!
Consejos y recomendaciones adicionales
No olvides actualizar tu servidor regularmente:
sudo apt update && sudo apt upgrade
(o un comando similar para tu sistema). Esto ayudará a proteger tu VPS de vulnerabilidades. También recomiendo usar un firewall (cortafuegos) para una protección adicional. Sin duda, ¡esto es importante!
Y recuerda: ¡*la seguridad es lo primero!* Guarda tus claves privadas en secreto y no uses contraseñas débiles (si has decidido usar contraseñas). Es mejor evitar las contraseñas para SSH. Es un plan astuto, *tan* inteligente que solo un genio lo pudo inventar.
Aquí hay algunos comandos útiles para verificar el estado de SSH:
systemctl status sshd
ps aux | grep sshd
netstat -tulnp | grep sshd
Espero que este artículo te haya sido útil. Si tienes alguna pregunta, ¡no dudes en escribirla en los comentarios! ¡Éxito!
«La configuración de SSH es la base del trabajo seguro con tu VPS. No ahorres tiempo en esta etapa.»
Andrés Petrov, experimentado administrador de sistemas