Preguntas frecuentes sobre SysAdmin: ¿Qué es SSH y cómo usarlo?
¿Qué es SSH y por qué todo SysAdmin lo usa?
Si alguna vez has tenido que administrar un servidor remoto, seguro has escuchado hablar de SSH. Es una de esas herramientas que, una vez que la entiendes, se vuelve indispensable en tu día a día como SysAdmin o incluso como usuario avanzado. Pero, ¿qué es exactamente?
SSH son las siglas de Secure Shell (o Shell Seguro). Básicamente, es un protocolo de red que te permite conectarte de forma segura a otro ordenador, normalmente un servidor, a través de una red no segura (como Internet). Piensa en él como un túnel cifrado entre tu ordenador y el servidor. Todo lo que viaja por ese túnel (comandos, archivos, contraseñas) va encriptado, por lo que nadie puede espiarlo.
Para un SysAdmin, SSH es la navaja suiza. Con una conexión SSH puedes:
- Gestionar servidores desde cualquier lugar.
- Ejecutar comandos SSH para instalar software, configurar servicios o solucionar problemas.
- Transferir archivos de forma segura.
- Automatizar tareas de mantenimiento.
En esta guía tipo FAQ SysAdmin, vamos a resolver las dudas más comunes sobre SSH, desde cómo conectarte por primera vez hasta consejos de seguridad básicos. Todo explicado de forma sencilla, como si estuvieras hablando con un técnico de soporte amigable.
Preguntas Frecuentes (FAQ) sobre SSH para SysAdmins
¿Qué necesito para hacer una conexión SSH?
Para establecer una conexión SSH solo necesitas tres cosas:
- Un cliente SSH: Es el programa que usas desde tu ordenador para iniciar la conexión. Si usas Linux o macOS, ya lo tienes instalado (se llama
sshy se usa desde la terminal). En Windows, puedes usar PowerShell, el Símbolo del sistema (con versiones recientes de Windows 10/11) o programas como PuTTY. - La dirección del servidor: Puede ser una IP (ej.
192.168.1.100) o un nombre de dominio (ej.midominio.com). - Credenciales de acceso: Normalmente un nombre de usuario y una contraseña. En entornos más seguros, se usa un par de claves SSH (pública y privada).
[INFO] No necesitas ser un experto para empezar. Con solo tener acceso a la terminal de tu ordenador, ya estás listo.
¿Cómo me conecto por primera vez usando SSH?
Vamos al grano. Abre tu terminal (o PowerShell en Windows) y escribe el siguiente comando:
ssh usuario@direccion-del-servidor
Por ejemplo, si tu usuario es admin y tu servidor tiene la IP 192.168.1.10, escribirías:
ssh admin@192.168.1.10
¿Qué pasará después?
- Primera conexión: El sistema te preguntará si confías en el servidor. Verás un mensaje como: "The authenticity of host '...' can't be established." Escribe
yesy presiona Enter. Esto guarda la "huella digital" del servidor en tu ordenador para futuras conexiones. - Contraseña: Te pedirá la contraseña del usuario. Escríbela (no verás los caracteres por seguridad) y presiona Enter.
- ¡Ya estás dentro! Verás el prompt del servidor remoto, listo para ejecutar comandos SSH.
[TIP] Si la primera conexión te da un error de "Permission denied", revisa que el usuario y la contraseña sean correctos. Asegúrate también de que el servidor tenga el servicio SSH activo (normalmente en el puerto 22).
¿Qué comandos SSH básicos debo conocer?
Una vez dentro, el servidor es como tu ordenador local, pero sin interfaz gráfica. Aquí tienes los comandos SSH más útiles para empezar:
ls: Lista los archivos y carpetas del directorio actual.cd nombre_carpeta: Cambia al directorio especificado.pwd: Muestra la ruta completa del directorio en el que te encuentras.mkdir nueva_carpeta: Crea una nueva carpeta.nano archivo.txt: Abre el editor de textonanopara modificar un archivo. (Guarda conCtrl+O, sal conCtrl+X).sudo comando: Ejecuta un comando con permisos de superusuario (te pedirá tu contraseña). Esencial para tareas de administración.exit: Cierra la sesión SSH y vuelve a tu terminal local.
Ejemplo práctico: Quieres ver los logs del servidor web. Podrías hacer:
cd /var/log
ls
sudo tail -f syslog
Este comando te muestra en tiempo real las últimas líneas del archivo syslog.
¿Cómo me conecto a un puerto diferente (por ejemplo, Syspanel)?
Por defecto, SSH usa el puerto 22. Sin embargo, por seguridad, muchos administradores cambian este puerto. Por ejemplo, si usas un panel de control como Syspanel (que es una versión amigable de HestiaCP), el acceso a su interfaz web es a través del puerto 2106.
Para conectarte por SSH a un puerto diferente, usa el parámetro -p:
ssh -p numero_puerto usuario@direccion
Por ejemplo, si tu servidor tiene SSH en el puerto 2222:
ssh -p 2222 admin@192.168.1.10
[WARNING] No confundas el puerto de la interfaz web (como el 2106 de Syspanel) con el puerto del servicio SSH. El puerto SSH es el que usas para la terminal remota. Syspanel se accede desde un navegador web con https://tu-servidor:2106.
¿Qué son las claves SSH y por qué debería usarlas?
Las claves SSH son un par de archivos: una clave privada (que guardas en tu ordenador, como un secreto) y una clave pública (que instalas en el servidor). Son mucho más seguras que una contraseña, porque:
- Son prácticamente imposibles de adivinar (usan criptografía de 2048 o 4096 bits).
- No viajan por la red, por lo que no pueden ser interceptadas.
- Permiten conexiones sin contraseña (muy útil para automatizar tareas).
¿Cómo generarlas?
En tu terminal local, ejecuta:
ssh-keygen -t rsa -b 4096 -C "tu-email@ejemplo.com"
Te preguntará dónde guardarlas (por defecto en ~/.ssh/id_rsa) y una frase de contraseña (opcional, pero recomendada). Esto genera dos archivos: id_rsa (privada) y id_rsa.pub (pública).
¿Cómo instalar la clave pública en el servidor?
Usa el comando ssh-copy-id:
ssh-copy-id usuario@direccion-del-servidor
Te pedirá tu contraseña del servidor por última vez. A partir de ahí, podrás conectarte sin escribirla.
[TIP] Si ssh-copy-id no está disponible, puedes copiar manualmente el contenido de id_rsa.pub y pegarlo en el archivo ~/.ssh/authorized_keys del servidor.
¿Cómo transfiero archivos usando SSH?
SSH no solo sirve para ejecutar comandos. También puedes transferir archivos de forma segura usando SCP (Secure Copy) o SFTP (SSH File Transfer Protocol).
Con SCP (desde tu terminal local):
-
Subir un archivo al servidor:
scp archivo-local.txt usuario@servidor:/ruta/en/servidor/ -
Bajar un archivo del servidor:
scp usuario@servidor:/ruta/en/servidor/archivo-remoto.txt ./ -
Con un puerto diferente:
scp -P 2222 archivo-local.txt usuario@servidor:/ruta/(Nota: en SCP, el puerto se especifica con
-Pmayúscula, a diferencia de SSH que usa-pminúscula).
Con SFTP: Es como un FTP pero por SSH. Conéctate con:
sftp usuario@servidor
Dentro, puedes usar comandos como get (descargar), put (subir), ls (listar), etc. Es más interactivo.
¿Por qué me sale "Connection refused" o "Connection timed out"?
Estos son errores comunes al hacer una conexión SSH. Vamos a ver qué significan:
-
"Connection refused": El servidor está reachable, pero no hay ningún servicio SSH escuchando en el puerto que especificaste. Posibles causas:
- El servicio SSH no está instalado o no está corriendo.
- El puerto es incorrecto (prueba con
-p). - Un firewall (como
iptablesoufw) está bloqueando el puerto.
-
"Connection timed out": El servidor no responde. Puede ser por:
- La dirección IP o el dominio son incorrectos.
- El servidor está apagado o no tiene conectividad de red.
- Un firewall de red (como el de tu router o el del proveedor de hosting) está bloqueando la conexión.
¿Qué hacer?
- Verifica que el servidor esté encendido y tenga internet.
- Comprueba que el puerto SSH (22 por defecto) esté abierto. Puedes usar herramientas online como "Port Checker".
- Si es un problema de firewall, contacta a tu proveedor de hosting o revisa las reglas de tu servidor.
Consejos de seguridad básicos para tu conexión SSH
Como SysAdmin, la seguridad de tu conexión SSH es prioridad. Aquí van algunos consejos prácticos:
- Usa claves SSH en lugar de contraseñas: Es mucho más seguro.
- Cambia el puerto por defecto (22): Esto reduce los ataques automáticos de bots. Elige un puerto alto, como el 2222 o 3456.
- Desactiva el acceso root por SSH: Crea un usuario normal y usa
sudopara tareas administrativas. Para desactivar root, edita el archivo/etc/ssh/sshd_configy cambiaPermitRootLogin yesaPermitRootLogin no. - Usa un firewall: Limita el acceso SSH solo a las IPs que realmente lo necesiten.
- Mantén el software actualizado: Tanto el cliente como el servidor SSH deben estar al día para evitar vulnerabilidades.
[WARNING] Nunca compartas tu clave privada. Si alguien la obtiene, puede acceder a todos los servidores que tengan tu clave pública.
¿Cómo soluciono problemas comunes de conexión?
Aquí tienes un mini FAQ SysAdmin para problemas típicos:
-
Problema: "Permiso denegado (publickey,password)".
- Solución: Revisa que tu usuario y contraseña sean correctos. Si usas claves, asegúrate de que la clave pública esté en
~/.ssh/authorized_keysdel servidor y que la clave privada esté en tu ordenador con permisos 600 (chmod 600 ~/.ssh/id_rsa).
- Solución: Revisa que tu usuario y contraseña sean correctos. Si usas claves, asegúrate de que la clave pública esté en
-
Problema: "Host key verification failed".
- Solución: Esto ocurre si la huella digital del servidor ha cambiado (por ejemplo, si reinstalaste el sistema). Para solucionarlo, edita el archivo
~/.ssh/known_hostsy elimina la línea correspondiente a ese servidor. Luego vuelve a conectarte.
- Solución: Esto ocurre si la huella digital del servidor ha cambiado (por ejemplo, si reinstalaste el sistema). Para solucionarlo, edita el archivo
-
Problema: "Too many authentication failures".
- Solución: Has intentado conectarte muchas veces con claves incorrectas. Espera un minuto o reinicia la conexión. Para evitarlo, puedes especificar la clave a usar con
-i /ruta/clave_privada.
- Solución: Has intentado conectarte muchas veces con claves incorrectas. Espera un minuto o reinicia la conexión. Para evitarlo, puedes especificar la clave a usar con
[INFO] Si después de todo no puedes conectarte, verifica los logs del servidor con sudo tail -f /var/log/auth.log (en sistemas Debian/Ubuntu) para ver mensajes de error detallados.
Conclusión: SSH es tu mejor aliado como SysAdmin
Hemos recorrido las preguntas más frecuentes sobre SSH. Desde qué es, cómo hacer tu primera conexión SSH, hasta comandos básicos y consejos de seguridad. Recuerda que SSH es una herramienta poderosa y, con un poco de práctica, se vuelve algo natural.
No tengas miedo de experimentar en un entorno de pruebas. Crea un servidor virtual, conéctate, juega con los comandos SSH y verás que en poco tiempo te sentirás como un verdadero SysAdmin.
Y si usas herramientas como Syspanel (recuerda, el puerto de su interfaz web es el 2106), SSH te dará el control total de tu servidor para configurarlo a tu gusto.
¿Tienes más dudas? No dudes en consultar la documentación oficial de SSH o preguntar en foros especializados. ¡La comunidad siempre está dispuesta a ayudar!
