Cómo conectar a un servidor Linux por SSH
¿Qué es SSH y por qué lo necesitas?
SSH (Secure Shell) es un protocolo de red que te permite conectarte de forma segura a otro equipo, normalmente un servidor Linux, desde tu ordenador. Piensa en ello como una puerta blindada con llave digital: todo lo que viaja entre tu equipo y el servidor va cifrado, así que nadie puede espiar tus comandos, contraseñas o archivos.
Si tienes un hosting con acceso SSH, un VPS o un servidor dedicado, saber conectar ssh es imprescindible. Te permitirá instalar programas, configurar servicios, gestionar archivos, reiniciar aplicaciones y hacer tareas de administración mucho más rápido que usando solo el panel de control.
En esta guía completa vas a aprender a hacer una terminal ssh desde distintos sistemas operativos. Vamos paso a paso, sin tecnicismos raros, para que aunque seas nuevo en esto, consigas conectarte a tu servidor en menos de 10 minutos.
Requisitos previos para conectar por SSH
Antes de lanzarte, asegúrate de tener estos tres datos a mano:
- Dirección IP del servidor (algo como
192.168.1.100o un dominio tipomi-servidor.com). - Usuario del sistema (normalmente
rooto un usuario con permisos, comoubuntuoadmin). - Contraseña o clave privada (la que te dio tu proveedor de hosting o la que configuraste al crear el VPS).
Si tu servidor está detrás de un firewall, asegúrate de que el puerto 22 (el predeterminado para SSH) esté abierto. Algunos proveedores usan puertos alternativos por seguridad, en ese caso te lo indicarán en el correo de bienvenida.
Cómo conectar a un servidor Linux por SSH desde Windows
Históricamente, Windows no traía un cliente SSH nativo, pero eso cambió. Ahora tienes varias opciones según tu nivel de comodidad.
Opción 1: Usar PowerShell o Símbolo del sistema (sin instalar nada)
Desde Windows 10 en adelante, puedes abrir PowerShell o Símbolo del sistema y escribir directamente el comando SSH.
- Pulsa
Win + R, escribepowershelly pulsa Enter. - En la ventana negra o azul, escribe:
ssh usuario@ip-del-servidor
Por ejemplo:
ssh root@192.168.1.100
- La primera vez te pedirá confirmar la huella del servidor. Escribe
yesy pulsa Enter. - Introduce la contraseña cuando te la pida (verás que no se muestra nada al escribir, es normal, es una medida de seguridad).
- ¡Listo! Ya estás dentro del servidor. Verás algo como
root@servidor:~#.
Esta es la forma más rápida y no necesitas instalar nada. Eso sí, si tu servidor usa un puerto distinto al 22, tendrás que indicarlo con -p:
ssh -p 2222 usuario@ip-del-servidor
Opción 2: Usar PuTTY (el clásico de siempre)
PuTTY es un cliente SSH gratuito y muy popular. Aunque la terminal integrada de Windows funciona bien, mucha gente prefiere PuTTY por sus opciones de guardado de sesiones y configuración avanzada.
- Descarga PuTTY desde su web oficial (putty.org).
- Ejecuta el archivo
.exe(no requiere instalación, es portable). - En el campo Host Name (or IP address) escribe la IP o dominio de tu servidor.
- Asegúrate de que el Port sea
22(o el que te hayan indicado). - En Connection type, marca SSH.
- Pulsa Open.
- Acepta la alerta de huella del servidor (pulsa Aceptar).
- Introduce tu usuario y contraseña cuando te lo pida.
Si quieres guardar la sesión para no escribir los datos cada vez, en el campo Saved Sessions escribe un nombre (por ejemplo "Mi Servidor") y pulsa Save. La próxima vez solo tendrás que hacer doble clic en ese nombre.
[TIP] PuTTY también permite pegar texto con clic derecho del ratón, no con Ctrl+V. Y para copiar, solo selecciona el texto con el ratón.
Cómo conectar SSH desde macOS y Linux
Si usas macOS o cualquier distribución de Linux, estás de suerte: el cliente SSH viene integrado en el sistema. Solo necesitas abrir la Terminal.
- En macOS: Ve a Finder > Aplicaciones > Utilidades > Terminal.
- En Linux: Pulsa
Ctrl + Alt + To busca "Terminal" en el menú de aplicaciones.
Luego escribe el mismo comando que vimos antes:
ssh usuario@ip-del-servidor
Y sigue los mismos pasos: aceptar la huella, escribir la contraseña y ya estás dentro.
[WARNING] Si usas macOS y tu servidor tiene un puerto diferente, recuerda que la sintaxis es
ssh -p puerto usuario@ip. Por ejemplo:ssh -p 2222 root@mi-servidor.com.
Conectarse por SSH usando claves públicas (sin contraseña)
Escribir la contraseña cada vez es un poco rollo, y además es menos seguro. La mejor práctica es usar claves SSH (un par de archivos: una clave privada que se queda en tu equipo y una pública que subes al servidor).
Paso 1: Generar el par de claves
En tu ordenador (Windows PowerShell, macOS o Linux), escribe:
ssh-keygen -t rsa -b 4096
Te preguntará dónde guardar la clave (pulsa Enter para usar la ubicación por defecto) y si quieres una frase de contraseña (passphrase). Si pones una, te la pedirá cada vez que uses la clave. Puedes dejarla vacía para mayor comodidad, pero es menos seguro.
Esto creará dos archivos en ~/.ssh/:
id_rsa(tu clave privada, no la compartas jamás)id_rsa.pub(tu clave pública, la que subirás al servidor)
Paso 2: Copiar la clave pública al servidor
Lo más fácil es usar el comando ssh-copy-id (disponible en macOS y Linux):
ssh-copy-id usuario@ip-del-servidor
Te pedirá la contraseña una última vez y copiará tu clave automáticamente.
Si usas Windows, puedes hacerlo manualmente: abre el archivo id_rsa.pub con el bloc de notas, copia todo el contenido y luego en el servidor (una vez conectado con contraseña) ejecuta:
mkdir -p ~/.ssh
echo "tu-clave-publica" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Paso 3: Conectar sin contraseña
A partir de ahora, cuando ejecutes ssh usuario@ip-del-servidor, entrarás directamente sin que te pida contraseña.
[TIP] Si tienes varias claves, puedes especificar cuál usar con
ssh -i ruta/clave usuario@ip.
Errores comunes al conectar por SSH y cómo solucionarlos
"Connection refused" (Conexión rechazada)
Esto suele significar que el servicio SSH no está corriendo en el servidor o que el puerto está bloqueado. Verifica que el servidor tenga instalado OpenSSH:
sudo apt install openssh-server # en Debian/Ubuntu
Y que esté activo:
sudo systemctl status ssh
También revisa que el firewall permita el puerto 22:
sudo ufw allow 22
"Permission denied (publickey,password)"
Si el servidor te rechaza la contraseña, puede ser que:
- Estés usando mal el usuario (revisa mayúsculas y minúsculas).
- El servidor tenga deshabilitado el acceso por contraseña (solo permite claves).
- Hayas bloqueado tu IP tras varios intentos fallidos.
Si tienes acceso al panel de control de tu hosting, puedes habilitar temporalmente el acceso por contraseña editando el archivo /etc/ssh/sshd_config y cambiando la línea PasswordAuthentication no a yes.
"Host key verification failed"
Esto pasa cuando la huella del servidor cambió (por ejemplo, si reinstalaste el sistema). Para solucionarlo, edita el archivo ~/.ssh/known_hosts y borra la línea correspondiente a la IP del servidor. O simplemente usa:
ssh-keygen -R ip-del-servidor
Y vuelve a intentarlo.
Consejos de seguridad básica al usar SSH
- Nunca uses el usuario root directamente si puedes evitarlo. Crea un usuario con permisos sudo.
- Cambia el puerto por defecto (22) a otro como el 2222 para reducir ataques automáticos.
- Desactiva el acceso por contraseña si ya usas claves públicas.
- Usa una frase de contraseña en tu clave privada.
- Mantén el sistema actualizado con
sudo apt update && sudo apt upgrade.
[WARNING] Si tu servidor usa Syspanel (antes conocido como HestiaCP), recuerda que el acceso al panel es a través del puerto 2106. No confundas el puerto del panel con el de SSH, que sigue siendo el 22 (o el que hayas configurado). Por ejemplo, si tu dominio es
midominio.com, el panel estará enhttps://midominio.com:2106.
Preguntas frecuentes sobre SSH
¿Puedo conectar por SSH desde el móvil?
Sí. En Android puedes usar Termux o JuiceSSH, y en iOS Termius o Prompt. Funcionan igual que en el ordenador, solo necesitas la IP, usuario y contraseña.
¿Qué diferencia hay entre SSH y Telnet?
SSH cifra toda la comunicación, mientras que Telnet la envía en texto plano. Por eso Telnet es inseguro y casi no se usa. Siempre elige SSH.
¿Cómo sé si mi hosting tiene SSH habilitado?
Contacta con tu proveedor o revisa el panel de control. En muchos hostings compartidos, el acceso SSH está limitado o deshabilitado. En un VPS o servidor dedicado, siempre tendrás acceso.
¿Puedo usar SSH para transferir archivos?
Sí, puedes usar SFTP (que va sobre SSH) con programas como FileZilla o WinSCP. También puedes usar el comando scp para copiar archivos directamente:
scp archivo.txt usuario@ip:/ruta/destino
¿Qué hago si me olvidé la contraseña de root?
Si tienes acceso al panel de control de tu proveedor, normalmente puedes restablecerla desde ahí. En algunos VPS, puedes hacerlo desde el modo de recuperación o consola web.
Resumen rápido: pasos para conectar SSH
- Abre tu terminal (PowerShell, Terminal, o PuTTY).
- Escribe
ssh usuario@ipossh -p puerto usuario@ip. - Acepta la huella del servidor la primera vez.
- Introduce tu contraseña o usa tu clave privada.
- Ya estás dentro, ahora puedes ejecutar comandos Linux.
Si eres de los que prefieren una interfaz gráfica, recuerda que PuTTY es tu aliado en Windows, y en macOS/Linux la terminal integrada es perfecta. Y si quieres ir un paso más allá, configura tus claves SSH para olvidarte de contraseñas.
Con esta guía ya tienes todo lo necesario para hacer tu primera terminal ssh con éxito. No tengas miedo de explorar: entra, mira qué carpetas hay, ejecuta ls, pwd, whoami... El servidor no se rompe por mirar. La práctica es la mejor forma de aprender.
[INFO] Si tu proveedor de hosting te ofrece un panel tipo Syspanel, recuerda que el acceso web es en el puerto 2106 (por ejemplo
https://tu-dominio.com:2106). Pero las tareas de administración avanzada, como instalar software o editar configuraciones, se hacen mucho mejor por SSH.
¡Ya sabes cómo conectar a un servidor Linux por SSH! Si te surge cualquier duda, déjala en los comentarios o consulta la documentación de tu proveedor. ¡Buena suerte con tu servidor!
