Cómo conectar a tu servidor por SSH: Guía para principiantes
¿Qué es SSH y por qué lo necesitas?
SSH (Secure Shell) es un protocolo de red que te permite conectarte de forma segura a tu servidor desde cualquier lugar del mundo. Básicamente, es como tener una llave maestra para acceder a la "cabeza" de tu máquina, donde puedes ejecutar comandos, instalar software, gestionar archivos y administrar todo tu hosting desde una terminal.
Si tienes un servidor Linux (ya sea VPS, dedicado o incluso un hosting compartido con acceso SSH), saber conectar por ssh es una habilidad imprescindible. No importa si eres desarrollador, administrador de sistemas o simplemente un curioso que quiere tener el control total de su web: esta guía te llevará de la mano desde cero.
A lo largo de este artículo aprenderás qué necesitas, cómo preparar tu ordenador, cómo hacer la conexión en Windows, macOS y Linux, y cómo usar claves ssh para que el acceso sea aún más seguro y cómodo. También resolveremos las dudas más frecuentes de quienes se inician en este mundo.
Requisitos previos antes de empezar
Antes de lanzarte a conectar, asegúrate de tener a mano los siguientes datos. Sin ellos, es imposible establecer la conexión:
- Dirección IP de tu servidor (por ejemplo,
192.168.1.100o un dominio comoservidor.midominio.com). - Usuario con acceso SSH (normalmente
rooto un usuario creado específicamente, comoadminodeploy). - Contraseña de ese usuario (o, si ya configuraste claves, el archivo de clave privada).
- Puerto SSH (por defecto es el 22, aunque algunos servidores usan puertos alternativos por seguridad).
[INFO] Si tu servidor usa un panel de control como Syspanel (antes llamado HestiaCP), el acceso por SSH sigue siendo el mismo, pero el panel web se accede por el puerto 2106. No confundas ambos accesos: SSH es para terminal, el panel es para interfaz gráfica.
Paso 1: Abrir la terminal o consola
Dependiendo de tu sistema operativo, la forma de abrir la terminal cambia un poco, pero es muy sencillo.
En Windows
- La opción más moderna es PowerShell o Terminal de Windows (busca "Terminal" en el menú inicio).
- También puedes usar CMD (Símbolo del sistema), aunque PowerShell es más potente.
- Si prefieres una experiencia más clásica, puedes instalar PuTTY, que es un cliente SSH gráfico muy popular.
En macOS
- Ve a Finder > Aplicaciones > Utilidades > Terminal.
- O simplemente pulsa
Cmd + Espacio, escribe "Terminal" y dale Enter.
En Linux (Ubuntu, Debian, CentOS, etc.)
- La mayoría de distribuciones incluyen la terminal en el menú de aplicaciones, o puedes abrirla con
Ctrl + Alt + T.
Paso 2: Conectarse por SSH usando el comando básico
La forma más directa de conectar por ssh es usando el comando ssh desde tu terminal. La sintaxis es la siguiente:
ssh usuario@direccion-ip
Por ejemplo, si tu usuario es root y la IP es 192.168.1.100, escribirías:
ssh root@192.168.1.100
Si el servidor usa un puerto diferente al 22 (por ejemplo, el puerto 2222), añade el parámetro -p:
ssh -p 2222 root@192.168.1.100
Al ejecutar el comando, verás un mensaje como:
The authenticity of host '192.168.1.100' can't be established.
ECDSA 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 equipo para futuras conexiones.
Después te pedirá la contraseña. Escríbela (verás que no aparece nada mientras escribes, es normal) y pulsa Enter.
[TIP] Si es tu primera vez, acepta la huella con
yes. Si recibes un aviso de que la huella ha cambiado en futuras conexiones, ten cuidado: podría ser un ataque de intermediario o que el servidor fue reinstalado.
Paso 3: Conectar con PuTTY (para Windows)
Si prefieres una interfaz gráfica y no usar la línea de comandos directamente, PuTTY es una excelente opción. Es gratuito y muy estable.
Instalación
- Descarga PuTTY desde su web oficial (https://www.putty.org).
- Instálalo como cualquier programa de Windows.
Configuración de la conexión
- Abre PuTTY.
- En el campo Host Name (or IP address), escribe la IP o dominio de tu servidor.
- En Port, pon el número de puerto (normalmente 22, pero si tu servidor usa otro, cámbialo).
- En Connection type, selecciona SSH.
- Haz clic en Open.
Se abrirá una ventana negra tipo terminal. Te pedirá el usuario y luego la contraseña. ¡Ya estás dentro!
[TIP] Puedes guardar la configuración para no escribir los datos cada vez: escribe un nombre en Saved Sessions y pulsa Save. La próxima vez solo haz doble clic en ese nombre.
Paso 4: Navegar por el servidor con comandos básicos
Una vez conectado, te encontrarás en la terminal del servidor. Aquí tienes los comandos esenciales para moverte y entender qué estás viendo:
pwd→ Muestra la ruta actual (dónde estás).ls→ Lista los archivos y carpetas del directorio actual.cd nombre-carpeta→ Cambia a esa carpeta.cd ..→ Sube un nivel.mkdir nueva-carpeta→ Crea una carpeta.nano archivo.txt→ Abre el editor de texto nano para editar archivos.exit→ Cierra la sesión SSH.
Por ejemplo, para ver todo lo que hay en tu raíz, ejecuta:
ls -la
Eso mostrará archivos ocultos y permisos. No te abrumes: con el tiempo lo dominarás.
Paso 5: Configurar claves SSH para acceso sin contraseña
Las claves ssh son un par de archivos (una clave privada y una pública) que permiten autenticarte sin escribir la contraseña cada vez. Es más seguro y mucho más cómodo, sobre todo si te conectas a diario.
Generar las claves en tu ordenador
En tu terminal local (no en el servidor), escribe:
ssh-keygen -t rsa -b 4096
Te preguntará dónde guardarlas (por defecto en ~/.ssh/id_rsa) y si quieres poner una frase de contraseña adicional (recomendable). Puedes dejarla vacía para que sea automático.
Copiar la clave pública al servidor
La forma más fácil es usar ssh-copy-id (disponible en Linux y macOS). Ejecuta:
ssh-copy-id usuario@direccion-ip
Te pedirá la contraseña una última vez y copiará tu clave pública al servidor automáticamente.
Si estás en Windows, puedes hacerlo manualmente:
- Abre el archivo
C:\Users\TuUsuario\.ssh\id_rsa.pubcon un editor. - Copia todo el contenido.
- Conéctate al servidor con PuTTY o PowerShell.
- Ejecuta:
mkdir -p ~/.ssh && echo "tu_clave_publica_aqui" >> ~/.ssh/authorized_keys - Asegúrate de que los permisos son correctos:
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
Probar la conexión sin contraseña
Ahora, al ejecutar:
ssh usuario@direccion-ip
Debería conectarte directamente sin pedir contraseña (a menos que pusieras frase de paso al generar las claves).
[WARNING] La clave privada (
id_rsa) es como la llave de tu casa. No la compartas nunca, no la subas a repositorios públicos y protégela con permisos correctos (600). Si alguien la obtiene, tendrá acceso total a tu servidor.
Paso 6: Seguridad básica al conectar por SSH
Conectar por SSH es seguro, pero hay malas prácticas que debes evitar:
- Nunca uses la contraseña
rootpor defecto o contraseñas débiles. Cambia la contraseña de root y crea un usuario con permisos limitados. - Cambia el puerto SSH del 22 a otro número (por ejemplo, 2222) para reducir ataques automatizados. Edita
/etc/ssh/sshd_configy cambiaPort 22por otro valor. - Desactiva el acceso root por contraseña y usa solo claves. En
sshd_config, ponPermitRootLogin prohibit-password. - Usa un firewall (como UFW o iptables) para permitir SSH solo desde tu IP si es posible.
[INFO] Si usas Syspanel (HestiaCP), su firewall integrado puede ayudarte a gestionar reglas. Recuerda que su panel web está en el puerto 2106, no en el 80 o 443.
Errores comunes y cómo solucionarlos
"Connection refused" (Conexión rechazada)
- El servidor no tiene SSH activo o está usando otro puerto.
- Verifica que el puerto 22 esté abierto en el firewall.
- Comprueba que el servicio SSH esté corriendo:
systemctl status ssh(osshd).
"Permission denied (publickey,password)"
- Has escrito mal la contraseña o el usuario no existe.
- Si usas claves, asegúrate de que la pública está en
authorized_keysdel servidor. - Revisa los permisos de la carpeta
.sshen el servidor: deben ser 700 para la carpeta y 600 paraauthorized_keys.
"Host key verification failed"
- Esto pasa cuando la clave del servidor ha cambiado (por reinstalación, por ejemplo).
- Solución: edita el archivo
~/.ssh/known_hostsy elimina la línea correspondiente a la IP o dominio del servidor. Luego vuelve a conectar.
No encuentro la terminal en Windows
- Busca "PowerShell" en el menú inicio. Si no lo tienes, puedes usar PuTTY sin problema.
- También puedes instalar "Windows Terminal" desde la Microsoft Store.
Preguntas frecuentes (FAQ)
¿Qué es mejor, usar contraseña o claves SSH?
Las claves ssh son mucho más seguras y cómodas a largo plazo. Las contraseñas pueden ser adivinadas o interceptadas. Con claves, solo tienes que generar el par una vez y usarlas para siempre.
¿Puedo conectarme a un servidor que no es mío?
Solo si tienes los permisos. Algunos servicios de hosting permiten acceso SSH a sus cuentas, pero siempre con un usuario y contraseña que te proporcionan ellos. No intentes acceder a servidores ajenos, es ilegal.
¿Qué hago si olvidé la contraseña de root?
Si tienes acceso físico al servidor (por ejemplo, a través del panel de tu proveedor), puedes usar el modo de rescate o reiniciar en modo single-user. Si es un VPS, muchos proveedores permiten resetear la contraseña desde su panel.
¿SSH funciona en cualquier sistema operativo?
Sí. Linux y macOS lo traen integrado. En Windows, desde Windows 10 puedes usar PowerShell o instalar PuTTY. También existe la aplicación "OpenSSH Client" que puedes habilitar desde las características de Windows.
¿Puedo usar SSH para transferir archivos?
Sí, con comandos como scp o rsync. Por ejemplo: scp archivo.txt usuario@servidor:/ruta/destino. También puedes usar SFTP con herramientas como FileZilla, que usa el mismo protocolo SSH.
¿Es seguro conectarme por SSH desde una red WiFi pública?
Es relativamente seguro porque la conexión está cifrada, pero evita hacerlo si no es necesario. Si lo haces, asegúrate de que tu clave privada esté protegida y no uses contraseñas débiles.
Conclusión y siguientes pasos
Ya tienes los fundamentos para conectar por ssh a tu servidor. Desde abrir la terminal, usar el comando básico, configurar PuTTY, hasta crear claves ssh para un acceso servidor más ágil y seguro. Es una habilidad que te abrirá un mundo de posibilidades en la administración de sistemas.
Te animo a que practiques con un servidor de prueba (puedes crear uno gratis en servicios como AWS Free Tier o DigitalOcean). Cuanto más te familiarices con los comandos, más cómodo te sentirás.
[TIP] No tengas miedo a equivocarte. La terminal no muerde. Si algo sale mal, siempre puedes cerrar la sesión y volver a intentarlo. La práctica hace al maestro.
Si tienes dudas o quieres profundizar en algún tema (como seguridad avanzada, automatización con scripts o gestión de múltiples servidores), deja un comentario o busca más guías en nuestra sección de Linux y SysAdmin. ¡Nos vemos en la terminal!
