Cómo conectar a tu servidor VPS por SSH en Linux
¿Qué es SSH y por qué lo necesitas para tu VPS?
Imagina que tu servidor VPS es una computadora que está físicamente en otro país, en un centro de datos. No tienes un monitor, un teclado ni un ratón conectados a ella. Para poder darle órdenes, necesitas una especie de "control remoto" que funcione a través de internet. Ese control remoto se llama SSH (Secure Shell).
SSH es un protocolo de red que te permite abrir una terminal de comandos en tu computadora local y ejecutar órdenes directamente en tu servidor remoto, de forma completamente encriptada. Es la herramienta fundamental para cualquier administrador de sistemas o desarrollador que trabaje con Linux en la nube.
En esta guía, aprenderás paso a paso cómo establecer una conexión remota SSH desde tu máquina con Linux a tu VPS. No necesitas ser un experto, solo seguir las instrucciones con atención.
Requisitos previos
Antes de empezar, asegúrate de tener lo siguiente a mano:
- Un servidor VPS activo: Debes haber contratado un servicio de VPS y haber recibido las credenciales de acceso por parte de tu proveedor.
- Una computadora con Linux: Puede ser Ubuntu, Debian, Fedora, CentOS, o cualquier otra distribución. El proceso es prácticamente el mismo.
- La dirección IP de tu VPS: Normalmente te la proporciona tu proveedor de hosting al contratar el servicio.
- El nombre de usuario y la contraseña (o clave SSH): Por defecto, el usuario suele ser
root(el administrador total del sistema) o un usuario con permisos especiales. También es posible que te hayan proporcionado una clave privada (archivo.pemo.ppk). - Conexión a internet: Asegúrate de que tu computadora local pueda llegar a tu VPS a través de la red.
[INFO] Si tu VPS tiene instalado un panel de control como Syspanel (accesible por el puerto 2106), también necesitarás SSH para tareas de administración avanzadas que el panel no cubre.
Paso 1: Abrir la terminal en tu computadora local
El primer paso es abrir el emulador de terminal en tu sistema Linux. Dependiendo de tu distribución y escritorio, el método puede variar:
- Ubuntu/Debian (GNOME): Presiona la tecla
Super(la de Windows) y escribe "Terminal". Haz clic en el icono. - Fedora (GNOME): Similar a Ubuntu.
- KDE Plasma: Busca "Konsole" o "Terminal" en el menú de aplicaciones.
- Distribuciones sin entorno gráfico: Si estás en una consola pura (TTY), ya estás en la terminal.
Una vez abierta, verás un prompt que normalmente se ve así:
usuario@tu-computadora:~$
Este es tu punto de partida. Todo lo que escribas aquí se ejecutará en tu máquina local.
Paso 2: El comando SSH básico
El comando fundamental para conectarte por SSH es, precisamente, ssh. Su sintaxis más simple es:
ssh usuario@direccion_ip
ssh: Es el programa que inicia la conexión.usuario: Es el nombre de usuario con el que quieres iniciar sesión en el VPS. El más común esroot.@: El símbolo "arroba" separa el usuario de la dirección.direccion_ip: Es la dirección IP pública de tu servidor VPS. Por ejemplo,192.168.1.100(aunque esta es una IP privada, la tuya será pública).
Ejemplo práctico: Si tu IP es 203.0.113.10 y tu usuario es root, escribirías:
ssh root@203.0.113.10
Presiona Enter. Si es la primera vez que te conectas a este servidor desde tu computadora, verás un mensaje como este:
The authenticity of host '203.0.113.10 (203.0.113.10)' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
[INFO] Este mensaje es normal. SSH está verificando que el servidor al que te conectas es el que dice ser. Como es la primera vez, no tiene una "huella" guardada. Escribe
yesy presionaEnterpara continuar. Esto añadirá el servidor a tu lista de hosts conocidos (~/.ssh/known_hosts).
Paso 3: Autenticación con contraseña
Después de aceptar la huella del servidor, SSH te pedirá la contraseña del usuario que estás utilizando.
root@203.0.113.10's password:
Escribe la contraseña con cuidado. No verás ningún carácter en la pantalla (ni asteriscos ni puntos) mientras escribes, es una medida de seguridad. Presiona Enter cuando termines.
Si la contraseña es correcta, verás un mensaje de bienvenida y el prompt del servidor remoto. Por ejemplo:
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-91-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
...
root@vps-tu-servidor:~#
¡Felicidades! Ya estás dentro de tu VPS. Ahora cualquier comando que escribas se ejecutará en el servidor remoto, no en tu computadora local.
Paso 4: Autenticación con clave SSH (más segura y recomendada)
Usar contraseñas es funcional, pero no es lo más seguro. Lo ideal es usar un par de claves SSH: una clave privada (que guardas en tu computadora local) y una clave pública (que instalas en el servidor). Es mucho más difícil de vulnerar.
4.1. Generar el par de claves (si no tienes uno)
En tu terminal local, ejecuta:
ssh-keygen -t ed25519 -C "tu_email@ejemplo.com"
-t ed25519: Especifica el tipo de clave. Ed25519 es moderno y seguro.-C: Añade un comentario (normalmente tu correo) para identificar la clave.
El programa te preguntará dónde guardar la clave. Por defecto, será en ~/.ssh/id_ed25519. Puedes presionar Enter para aceptar.
Luego te preguntará una frase de contraseña (passphrase). Esto es una capa extra de seguridad. Si alguien roba tu clave privada, sin la frase no podrá usarla. Puedes ponerla o dejarla en blanco (no recomendado). Si la pones, tendrás que escribirla cada vez que uses la clave.
Al final, se habrán creado dos archivos en ~/.ssh/:
id_ed25519(tu clave privada). NUNCA compartas este archivo.id_ed25519.pub(tu clave pública). Este es el que subirás al servidor.
4.2. Copiar la clave pública al servidor
La forma más fácil de hacerlo es con el comando ssh-copy-id:
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@203.0.113.10
Te pedirá la contraseña de root una última vez. Después de eso, la clave pública se añadirá al archivo ~/.ssh/authorized_keys del servidor.
[WARNING] Si el comando
ssh-copy-idno está disponible en tu sistema, puedes instalarlo consudo apt install openssh-client(en Ubuntu/Debian) o copiar manualmente el contenido del archivo.pubal servidor.
4.3. Conectarse usando la clave
Ahora, cuando ejecutes el comando SSH normal:
ssh root@203.0.113.10
El sistema intentará autenticarse automáticamente con tu clave privada. Si pusiste una frase de contraseña, te la pedirá. Si no, entrarás directamente al servidor sin necesidad de escribir la contraseña del usuario.
Paso 5: Comandos útiles una vez conectado
Una vez dentro, puedes empezar a trabajar. Aquí tienes algunos comandos básicos para familiarizarte:
pwd: Muestra la ruta del directorio actual.ls -la: Lista todos los archivos y carpetas (incluyendo ocultos) con detalles.cd /ruta/al/directorio: Cambia al directorio especificado.sudo apt update && sudo apt upgrade -y(en Debian/Ubuntu): Actualiza la lista de paquetes y actualiza el sistema.exitoCtrl + D: Cierra la sesión SSH y vuelve a tu terminal local.
Solución de problemas comunes (FAQ)
"Connection refused" (Conexión rechazada)
- Causa: El servicio SSH no está corriendo en el VPS, o un firewall está bloqueando el puerto 22.
- Solución: Desde el panel de control de tu proveedor de VPS (o desde una consola de emergencia), verifica que el servicio
sshesté activo (systemctl status ssh). También asegúrate de que el puerto 22/TCP esté abierto en el firewall del servidor (ufw status).
"Permission denied (publickey)" o "Permission denied (password)"
- Causa: Las credenciales son incorrectas o la clave pública no está bien instalada.
- Solución:
- Verifica que estás usando el usuario correcto.
- Asegúrate de que la clave pública esté en
~/.ssh/authorized_keysen el servidor. - Comprueba los permisos de los archivos en el servidor:
~/.sshdebe tener permisos700, y~/.ssh/authorized_keysdebe tener600. - Si usas contraseña, verifica que no tenga errores tipográficos (recuerda que no se ve mientras escribes).
"Host key verification failed"
- Causa: La huella del servidor ha cambiado (por ejemplo, reinstalaste el sistema operativo del VPS).
- Solución: Elimina la entrada antigua del archivo
~/.ssh/known_hostsen tu computadora local. Puedes hacerlo con:ssh-keygen -R 203.0.113.10(reemplaza con tu IP). Luego intenta conectarte de nuevo.
La conexión es muy lenta o se corta
- Causa: Problemas de red o configuración de
KeepAlive. - Solución: Edita el archivo de configuración del cliente SSH (
~/.ssh/config) y añade:
Esto enviará un "ping" cada 60 segundos para mantener la conexión activa.Host * ServerAliveInterval 60 ServerAliveCountMax 5
Consejos de seguridad avanzados
- Deshabilita el acceso con contraseña: Una vez que hayas configurado las claves SSH, es muy recomendable deshabilitar la autenticación por contraseña en el servidor. Edita el archivo
/etc/ssh/sshd_config, busca la líneaPasswordAuthenticationy cámbiala ano. Luego reinicia el servicio SSH:systemctl restart sshd. - Cambia el puerto SSH por defecto: El puerto 22 es el estándar y el primero que atacan los bots. Cambiarlo a un puerto alto (ej. 2222) reduce drásticamente los intentos de acceso no autorizados. Recuerda ajustar el firewall.
- Usa un usuario no root: Crea un usuario normal con permisos
sudo. Es más seguro que usarrootdirectamente. - Mantén el sistema actualizado: Ejecuta regularmente
sudo apt update && sudo apt upgrade(o el equivalente en tu distribución) para parchear vulnerabilidades.
[TIP] Si tu VPS tiene Syspanel instalado, recuerda que su interfaz web está en el puerto 2106. Para acceder a él desde tu navegador, necesitarás la IP de tu servidor seguida de
:2106(ej.http://203.0.113.10:2106). SSH te servirá para hacer tareas de mantenimiento que el panel no permite.
Conclusión
Conectar a tu servidor VPS por SSH en Linux es un proceso sencillo una vez que entiendes los conceptos básicos. Ya sea que uses contraseña o, mejor aún, claves SSH, tienes el control total de tu servidor desde cualquier lugar del mundo.
Practica los pasos, familiarízate con la terminal y no tengas miedo de experimentar. La conexión remota es la puerta de entrada a la administración profesional de servidores. Si encuentras algún error, revisa la sección de solución de problemas; la mayoría de las veces la respuesta está en los detalles de configuración.
¡Ahora ve y toma el control de tu VPS!
