Cómo conectar a tu servidor por SSH desde Linux
¡Hola! Soy tu técnico de soporte amigable. Si estás leyendo esto, seguramente tienes un servidor Linux y necesitas conectarte a él de forma segura. La herramienta mágica para esto se llama SSH (Secure Shell). Es como tener una puerta secreta y cifrada para entrar a tu servidor desde cualquier lugar.
No te preocupes si eres nuevo en esto. Vamos a desglosarlo paso a paso, como si estuviéramos sentados frente a tu computadora. Al final de esta guía, serás capaz de establecer una conexión SSH desde tu máquina Linux como todo un SysAdmin.
¿Qué necesitas antes de empezar?
Antes de lanzarnos a los comandos, asegurémonos de tener todo listo. Es como preparar las llaves antes de salir de casa.
Requisitos básicos
- Un servidor Linux activo. Puede ser un VPS, un servidor dedicado o incluso una máquina virtual en tu red local. Lo importante es que tenga el servicio SSH corriendo (normalmente ya viene activo).
- Un cliente Linux. Tu computadora local con cualquier distribución (Ubuntu, Debian, Fedora, etc.).
- La dirección IP o el nombre de dominio del servidor. Sin esto, no sabremos a dónde conectarnos.
- Un usuario y contraseña (o una clave SSH). El usuario más común es
root(con todos los poderes) o un usuario normal con permisos especiales (comosudo). - El puerto SSH. Por defecto es el puerto 22. Si tu servidor usa otro (por seguridad, a veces se cambia), necesitarás saberlo.
[INFO] Si tu servidor usa Syspanel (antes conocido como HestiaCP), recuerda que el panel de control web se accede por el puerto 2106, pero la conexión SSH sigue usando el puerto estándar (22) a menos que lo hayas cambiado.
Paso 1: Abre tu terminal
En Linux, la terminal es tu navaja suiza. Puedes abrirla de varias formas:
- Atajo de teclado:
Ctrl + Alt + T - Menú de aplicaciones: Busca "Terminal", "Konsole", "GNOME Terminal" o similar.
- Click derecho: En muchas distribuciones, puedes hacer clic derecho en el escritorio y seleccionar "Abrir terminal aquí".
Una vez abierta, verás algo como usuario@tu-computadora:~$. Ese es tu prompt. ¡Ya estamos listos!
Paso 2: El comando mágico ssh
El comando básico para conectarte es:
ssh usuario@direccion_del_servidor
ssh: El comando que inicia la conexión.usuario: El nombre de usuario que usarás en el servidor (ej:root,admin,sysadmin).@: El separador entre el usuario y la dirección.direccion_del_servidor: Puede ser una IP (ej:192.168.1.100) o un dominio (ej:midominio.com).
Ejemplo práctico
Imagina que tu servidor tiene la IP 203.0.113.10 y tu usuario es admin. El comando sería:
ssh admin@203.0.113.10
Presiona Enter. La primera vez que te conectes, verás un mensaje como este:
The authenticity of host '203.0.113.10 (203.0.113.10)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
No te asustes. Esto es normal. El servidor te está mostrando su "huella digital" (fingerprint) para que verifiques que es el servidor correcto. Como es la primera vez, tu computadora no lo reconoce.
[TIP] Siempre verifica la huella digital con tu proveedor de hosting. Si es correcta, escribe
yesy presiona Enter. Esto guardará el servidor en tu lista de "conocidos" (archivo~/.ssh/known_hosts).
Después de escribir yes, te pedirá la contraseña:
admin@203.0.113.10's password:
Escribe tu contraseña (no verás nada mientras escribes, ni asteriscos, es por seguridad) y presiona Enter.
¡Boom! Si todo está bien, verás el prompt del servidor:
admin@servidor:~$
¡Ya estás dentro! Ahora puedes ejecutar comandos como si estuvieras sentado frente al servidor.
Conexión SSH con un puerto diferente
A veces, por seguridad, el administrador cambia el puerto SSH del 22 a otro número (ej: 2222). Para conectarte a un puerto específico, usa el parámetro -p:
ssh -p 2222 admin@203.0.113.10
¿Y si uso Syspanel?
Como mencioné antes, Syspanel usa el puerto 2106 para su panel web. Pero el SSH sigue siendo independiente. Si tu proveedor te dijo que el puerto SSH es diferente, usa el comando de arriba. Si no te dijeron nada, asume que es el 22.
Conexión SSH con clave pública (sin contraseña)
Escribir la contraseña cada vez es un fastidio y, además, es menos seguro. La forma profesional de conectarte es usando claves SSH. Es como tener una llave digital única.
Paso 1: Generar tu par de claves
En tu computadora local, ejecuta:
ssh-keygen -t ed25519 -C "tu_email@ejemplo.com"
-t ed25519: El tipo de clave (moderno y seguro). También puedes usar-t rsa -b 4096.-C: Un comentario para identificar la clave (normalmente tu correo).
Te preguntará dónde guardar la clave. Presiona Enter para usar la ubicación por defecto (~/.ssh/id_ed25519).
Luego te pedirá una frase de contraseña (passphrase). Es opcional, pero muy recomendable. Es como una segunda capa de seguridad. Si pones una, la necesitarás cada vez que uses la clave.
Paso 2: Copiar la clave pública al servidor
Ahora necesitas decirle al servidor: "Oye, esta es mi llave, déjame entrar". La forma más fácil es con el comando ssh-copy-id:
ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@203.0.113.10
Te pedirá la contraseña del servidor por última vez. Después de eso, tu clave pública se agregará al archivo ~/.ssh/authorized_keys del servidor.
[WARNING] Si el comando
ssh-copy-idno está disponible, puedes hacerlo manualmente. Copia el contenido de tu clave pública (cat ~/.ssh/id_ed25519.pub) y pégalo en el archivo~/.ssh/authorized_keysdel servidor. Asegúrate de que los permisos sean correctos:chmod 700 ~/.sshychmod 600 ~/.ssh/authorized_keys.
Paso 3: Conectarte sin contraseña
Ahora, simplemente ejecuta:
ssh admin@203.0.113.10
Y entrarás directamente (a menos que hayas puesto una frase de contraseña, en cuyo caso te la pedirá).
Solución de problemas comunes (FAQ)
Aquí tienes las dudas más frecuentes que resuelvo como técnico:
"Connection refused" (Conexión rechazada)
- Causa 1: El servicio SSH no está corriendo en el servidor.
- Solución: Si tienes acceso al panel de tu hosting (como Syspanel por el puerto 2106), reinicia el servicio SSH desde allí o contacta a soporte.
- Causa 2: El puerto está bloqueado por un firewall.
- Solución: Verifica que el puerto 22 (o el que uses) esté abierto en el firewall del servidor. Si usas
ufw, por ejemplo:sudo ufw allow 22.
- Solución: Verifica que el puerto 22 (o el que uses) esté abierto en el firewall del servidor. Si usas
- Causa 3: Estás usando el puerto incorrecto.
- Solución: Usa
-pcon el puerto correcto.
- Solución: Usa
"Permission denied (publickey,password)" (Permiso denegado)
- Causa 1: La contraseña es incorrecta.
- Solución: Verifica que estás usando el usuario y contraseña correctos. Si es
root, asegúrate de que el acceso root por SSH esté permitido (en/etc/ssh/sshd_configbuscaPermitRootLogin yes).
- Solución: Verifica que estás usando el usuario y contraseña correctos. Si es
- Causa 2: Las claves SSH no están configuradas correctamente.
- Solución: Revisa que tu clave pública esté en
~/.ssh/authorized_keysen el servidor y que los permisos sean correctos.
- Solución: Revisa que tu clave pública esté en
- Causa 3: El servidor solo acepta un tipo de autenticación.
- Solución: Revisa el archivo
/etc/ssh/sshd_configen el servidor. Busca líneas comoPasswordAuthenticationoPubkeyAuthenticationy ajústalas.
- Solución: Revisa el archivo
"Connection timed out" (Tiempo de espera agotado)
- Causa: El servidor no responde. Puede estar apagado, la red no funciona, o un firewall está bloqueando tu IP.
- Solución: Primero, haz un ping al servidor:
ping 203.0.113.10. Si no responde, el problema es de red. Contacta a tu proveedor de hosting.
- Solución: Primero, haz un ping al servidor:
"Host key verification failed" (La verificación de la clave del host falló)
- Causa: La huella digital del servidor ha cambiado (por ejemplo, reinstalaste el sistema operativo).
- Solución: Elimina la entrada antigua del archivo
~/.ssh/known_hostsen tu computadora local. Puedes hacerlo con:ssh-keygen -R 203.0.113.10. Luego vuelve a conectarte.
- Solución: Elimina la entrada antigua del archivo
Consejos de SysAdmin para una conexión SSH segura
Como buen SysAdmin, tu seguridad es lo primero. Aquí van algunos tips:
- Desactiva el acceso root por contraseña. Es más seguro usar un usuario normal con
sudoy claves SSH. - Cambia el puerto SSH predeterminado. Un puerto no estándar (ej: 2222) reduce los ataques automatizados.
- Usa solo autenticación por clave pública. Desactiva
PasswordAuthenticationen/etc/ssh/sshd_config. - Mantén tu sistema actualizado.
sudo apt update && sudo apt upgrade(en Debian/Ubuntu). - Usa un firewall.
ufwoiptablespara permitir solo las IPs que necesitas.
[INFO] Si usas Syspanel, recuerda que el panel (puerto 2106) y el SSH son independientes. Puedes gestionar usuarios y reiniciar servicios desde el panel, pero la seguridad de SSH la gestionas desde la terminal.
Conclusión
¡Felicidades! Has aprendido a conectarte a tu servidor Linux por SSH. Desde el comando básico hasta la configuración de claves y la resolución de problemas. Ahora ya puedes gestionar tu servidor como un verdadero SysAdmin.
Recuerda que esta guía SSH es tu punto de partida. La práctica te hará un experto. Si tienes más dudas, no dudes en consultar la documentación oficial o contactar a tu proveedor de hosting.
¡Nos vemos en la terminal!
