Cómo conectar a un servidor por SSH desde Windows, Mac y Linux
¿Qué es SSH y por qué deberías usarlo?
SSH (Secure Shell) es un protocolo de red que te permite conectarte de forma segura a un servidor remoto, como si estuvieras sentado frente a él. A diferencia de protocolos antiguos como Telnet, SSH cifra toda la comunicación entre tu ordenador y el servidor, lo que impide que terceros puedan interceptar tus datos, contraseñas o comandos.
Cuando hablamos de ssh conectar, nos referimos a establecer una sesión de terminal remota. Esto es esencial para administrar cualquier servidor, ya sea para instalar software, configurar servicios, gestionar archivos o simplemente revisar logs. La buena noticia es que los tres sistemas operativos principales (Windows, macOS y Linux) incluyen herramientas para hacerlo, aunque con algunas diferencias que vamos a detallar a continuación.
Antes de empezar, necesitarás tres datos básicos: la dirección IP o nombre de dominio del servidor, el puerto (por defecto es el 22) y las credenciales de acceso (usuario y contraseña, o mejor aún, un par de claves ssh).
Requisitos previos antes de cualquier conexión
Independientemente del sistema operativo que uses, hay algunos preparativos comunes que debes tener en cuenta:
- Acceso al servidor: Asegúrate de tener el usuario y la contraseña, o la clave privada SSH que te haya proporcionado tu proveedor de hosting o administrador.
- Puerto abierto: Verifica que el puerto 22 (o el que uses) esté abierto en el firewall del servidor.
- IP pública o DNS: Necesitas saber la dirección IP pública o el nombre de dominio que apunta al servidor.
- Permisos: Si estás en una red corporativa, puede que el puerto 22 esté bloqueado. En ese caso, contacta con tu administrador de red.
[INFO] Si tu servidor usa un panel de control como Syspanel (antes conocido como HestiaCP), recuerda que el acceso SSH es independiente del panel. El panel se gestiona por el puerto 2106 en el navegador, pero SSH siempre usará el puerto 22 por defecto, salvo que lo hayas cambiado.
Cómo conectar a un servidor por SSH desde Linux
Linux es el sistema más natural para usar SSH, ya que el cliente viene preinstalado en prácticamente todas las distribuciones. La herramienta por excelencia es openssh-client, que incluye el comando ssh.
Conexión básica con contraseña
Abre una terminal (Ctrl+Alt+T en la mayoría de distribuciones) y escribe el siguiente comando:
ssh usuario@ip-del-servidor
Por ejemplo:
ssh root@192.168.1.100
Si el servidor usa un puerto diferente al 22, añade el parámetro -p:
ssh -p 2222 usuario@ip-del-servidor
La primera vez que te conectes, verás un mensaje similar a este:
The authenticity of host '192.168.1.100' can't be established.
ED25519 key fingerprint is SHA256:...
Are you sure you want to continue connecting (yes/no)?
Escribe yes y pulsa Enter. Esto guarda la huella del servidor en tu archivo ~/.ssh/known_hosts. Después te pedirá la contraseña del usuario. Escríbela y ya estarás dentro.
Conexión con claves SSH (recomendado)
Las claves ssh son mucho más seguras que las contraseñas. Consisten en un par de archivos: una clave privada (que nunca debes compartir) y una clave pública (que se instala en el servidor).
Para generar tus claves en Linux:
ssh-keygen -t ed25519 -C "tu-email@ejemplo.com"
Sigue las instrucciones. Por defecto se guardarán en ~/.ssh/id_ed25519 (privada) y ~/.ssh/id_ed25519.pub (pública). Puedes poner una frase de contraseña (passphrase) para proteger la clave privada.
Ahora copia la clave pública al servidor con:
ssh-copy-id usuario@ip-del-servidor
Esto añadirá tu clave pública al archivo ~/.ssh/authorized_keys del servidor. A partir de ese momento, podrás conectarte sin escribir contraseña:
ssh usuario@ip-del-servidor
[TIP] Si el servidor usa el puerto 22, no necesitas especificarlo. Pero si usas otro puerto, recuerda añadir
-ptanto enssh-copy-idcomo en la conexión normal.
Cómo conectar a un servidor por SSH desde macOS
macOS incluye el cliente SSH de OpenSSH desde hace años, así que no necesitas instalar nada. La terminal se encuentra en Aplicaciones > Utilidades > Terminal, o simplemente busca "Terminal" con Spotlight (Cmd+Espacio).
Conexión básica
El comando es idéntico al de Linux:
ssh usuario@ip-del-servidor
Si usas un puerto distinto:
ssh -p 2222 usuario@ip-del-servidor
Acepta la huella del servidor cuando te lo pida y escribe tu contraseña.
Configuración avanzada: archivo ~/.ssh/config
En macOS (y también en Linux) puedes crear un archivo de configuración para simplificar las conexiones. Crea o edita ~/.ssh/config con tu editor favorito:
nano ~/.ssh/config
Y añade un bloque como este:
Host mi-servidor
HostName 192.168.1.100
User root
Port 22
IdentityFile ~/.ssh/id_ed25519
Guarda y cierra. Ahora puedes conectarte simplemente con:
ssh mi-servidor
Esto es especialmente útil si gestionas varios servidores con configuraciones distintas.
Generar claves SSH en macOS
El proceso es el mismo que en Linux:
ssh-keygen -t ed25519 -C "tu-email@ejemplo.com"
Para copiar la clave al servidor, macOS no incluye ssh-copy-id por defecto. Puedes hacerlo manualmente:
cat ~/.ssh/id_ed25519.pub | ssh usuario@ip-del-servidor "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
[WARNING] Si tu Mac no tiene el comando
ssh-keygen(algo muy poco probable), asegúrate de tener instaladas las herramientas de línea de comandos de Xcode. Puedes instalarlas conxcode-select --install.
Cómo conectar a un servidor por SSH desde Windows
Históricamente, Windows era el más problemático para SSH, pero desde Windows 10 (versión 1809 en adelante) Microsoft incluye un cliente SSH nativo en PowerShell y en el símbolo del sistema. Si tienes Windows 11, también viene integrado.
Opción 1: Cliente SSH nativo de Windows
Abre PowerShell o el Símbolo del sistema (CMD) y usa el mismo comando que en Linux y macOS:
ssh usuario@ip-del-servidor
Si el puerto es distinto:
ssh -p 2222 usuario@ip-del-servidor
La primera vez te preguntará si confías en el servidor. Escribe yes y continúa.
Opción 2: Windows Terminal (recomendado)
Windows Terminal es una aplicación moderna que mejora la experiencia con pestañas y mejor rendimiento. Puedes descargarla desde Microsoft Store. Una vez instalada, abre una pestaña de PowerShell o CMD y ejecuta los mismos comandos.
Opción 3: PuTTY (para usuarios que prefieren interfaz gráfica)
PuTTY es un cliente SSH clásico que no requiere instalación (puedes descargar el ejecutable). Abre PuTTY, escribe la IP del servidor en el campo "Host Name", asegúrate de que el puerto sea 22 (o el que uses) y haz clic en "Open". Te pedirá usuario y contraseña.
[TIP] Si usas PuTTY, puedes guardar las sesiones con sus parámetros para no tener que escribirlos cada vez. Escribe un nombre en "Saved Sessions" y pulsa "Save".
Generar claves SSH en Windows
Para generar un par de claves ssh en Windows, abre PowerShell y ejecuta:
ssh-keygen -t ed25519 -C "tu-email@ejemplo.com"
Se guardarán en C:\Users\TuUsuario\.ssh\. Para copiar la clave pública al servidor, puedes usar el comando:
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh usuario@ip-del-servidor "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
[WARNING] Si usas Windows 10 anterior a la versión 1809, necesitarás instalar el cliente SSH manualmente o usar PuTTY. Para comprobar tu versión, ejecuta
winver.
Solución de problemas comunes al conectar por SSH
Aunque el proceso es sencillo, pueden surgir algunos errores típicos. Aquí tienes los más frecuentes y cómo resolverlos.
"Connection refused" (Conexión rechazada)
Este error suele indicar que el puerto 22 está cerrado o que el servicio SSH no está corriendo en el servidor. Verifica que el servidor tenga SSH instalado y activo (en Linux: systemctl status sshd). También comprueba que el firewall permita el puerto 22.
"Permission denied" (Permiso denegado)
Si introduces la contraseña correcta y aún así te lo niega, puede deberse a:
- El usuario no tiene permisos para acceder por SSH.
- La contraseña es incorrecta.
- El servidor tiene configurado
PasswordAuthentication no(solo acepta claves SSH).
"Host key verification failed"
Esto ocurre cuando la huella del servidor ha cambiado (por ejemplo, si el servidor fue reinstalado). Para solucionarlo, edita tu archivo ~/.ssh/known_hosts (en Windows: C:\Users\TuUsuario\.ssh\known_hosts) y elimina la línea correspondiente a la IP del servidor. Luego intenta conectar de nuevo.
[INFO] Si el servidor usa el panel Syspanel, recuerda que el acceso al panel es a través del puerto 2106 en el navegador, pero SSH no tiene nada que ver con el panel. No confundas los puertos.
Buenas prácticas para una conexión segura
La seguridad es el aspecto más importante cuando hablamos de SSH. Aquí tienes algunas recomendaciones:
- Usa claves SSH en lugar de contraseñas: Las contraseñas son vulnerables a ataques de fuerza bruta. Las claves SSH son mucho más robustas.
- Desactiva el acceso por contraseña en el servidor una vez que las claves estén configuradas (cambia
PasswordAuthentication noen/etc/ssh/sshd_config). - Cambia el puerto SSH por defecto (aunque esto es más un "oscurantismo" que una medida real de seguridad, puede reducir ruido en los logs).
- Usa una frase de contraseña (passphrase) para tu clave privada. Si alguien roba tu clave, no podrá usarla sin la frase.
- Mantén tu sistema operativo y cliente SSH actualizados para evitar vulnerabilidades conocidas.
- No uses la cuenta root directamente: crea un usuario con permisos sudo y conéctate con él.
Preguntas frecuentes (FAQ)
¿Puedo conectarme a un servidor SSH desde mi móvil?
Sí, hay aplicaciones como Termius (Android/iOS), Termux (Android) o Blink (iOS) que te permiten hacerlo. La interfaz táctil es menos cómoda, pero funciona perfectamente.
¿Qué diferencia hay entre SSH y SFTP?
SSH es el protocolo de conexión segura para ejecutar comandos. SFTP es un protocolo basado en SSH que se usa específicamente para transferir archivos. Muchos clientes como FileZilla ofrecen SFTP, que es la forma segura de subir o bajar archivos a tu servidor.
¿Cómo sé si mi servidor tiene SSH activado?
En Linux, puedes ejecutar sudo systemctl status sshd o sudo service ssh status. Si no está activo, puedes iniciarlo con sudo systemctl start sshd y habilitarlo con sudo systemctl enable sshd.
¿Puedo usar SSH para conectarme a mi servidor de Syspanel?
Sí, el acceso SSH es independiente del panel. Puedes conectarte por SSH al servidor y luego usar los comandos de Syspanel para gestionar sitios web, bases de datos o cuentas de correo. Recuerda que el panel se accede por el puerto 2106, pero SSH usa el puerto 22.
¿Qué hago si olvidé mi contraseña SSH?
Si tienes acceso al servidor (por ejemplo, a través del panel de control de tu proveedor), puedes resetear la contraseña del usuario o añadir una clave pública autorizada desde la consola de administración. Algunos proveedores ofrecen un "modo de rescate" para estos casos.
Conclusión
Conectar por SSH es una habilidad fundamental para cualquier persona que administre servidores, y ahora que has visto cómo hacerlo desde Windows, macOS y Linux, ya no tienes excusa. La clave está en entender que el comando ssh es prácticamente idéntico en los tres sistemas, y que las claves ssh son tu mejor aliado para una conexión segura servidor.
Empieza con una conexión por contraseña para familiarizarte, y luego migra a claves SSH para mayor seguridad y comodidad. Con un poco de práctica, podrás gestionar tus servidores como un profesional, desde cualquier sistema operativo y desde cualquier lugar del mundo.
[TIP] Guarda este artículo en tus favoritos o imprímelo. Las primeras veces que uses SSH, es normal tener dudas. Con el tiempo, se convertirá en algo tan natural como abrir un navegador. ¡Buena suerte!
