¿Qué es SSH?
SSH (Secure Shell) es el protocolo estándar para conectarse de forma segura a un servidor Linux remoto. Todo lo que escribís en tu terminal viaja cifrado entre tu computadora y el servidor. Es la forma principal de administrar un VPS.
Requisitos
- La dirección IP de tu servidor (la encontrás en el panel de control)
- El usuario de acceso (generalmente
rooten la primera conexión) - Contraseña o clave SSH privada según cómo configuraste el servidor
Conectarse desde Linux o macOS
La terminal ya viene instalada. Simplemente abrís una terminal y ejecutás:
ssh [email protected]
Reemplazá 203.0.113.45 con la IP real de tu servidor.
La primera vez aparece una advertencia de verificación de host:
The authenticity of host '203.0.113.45' can't be established.
ED25519 key fingerprint is SHA256:abc123...
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Escribí yes y presioná Enter. El fingerprint queda guardado en ~/.ssh/known_hosts y no te lo vuelve a preguntar.
Conectarse desde Windows
Opción 1: Terminal de Windows (recomendada)
Desde Windows 10 y 11, SSH ya viene instalado. Abrís PowerShell o CMD y ejecutás exactamente igual:
ssh [email protected]
Opción 2: PuTTY
Si tenés una versión más vieja de Windows:
- Descargá PuTTY desde putty.org
- En “Host Name” escribí la IP del servidor
- Puerto: 22 (el default)
- Hacé click en “Open”
- En la terminal que se abre, ingresá el usuario y contraseña
Conectarse con clave SSH (sin contraseña)
Si al crear el servidor agregaste una clave SSH pública, el acceso es automático:
ssh -i ~/.ssh/id_ed25519 [email protected]
Si tu clave está en la ubicación por defecto (~/.ssh/id_rsa o ~/.ssh/id_ed25519), SSH la usa automáticamente sin necesidad de especificar -i.
Simplificar con el archivo de configuración SSH
Podés crear o editar ~/.ssh/config para definir alias y no tener que recordar IPs:
Host miservidor
HostName 203.0.113.45
User root
IdentityFile ~/.ssh/id_ed25519
Con eso, conectarte es simplemente:
ssh miservidor
Comandos útiles una vez conectado
# Ver en qué carpeta estás
pwd
# Listar archivos
ls -la
# Ver uso de recursos en tiempo real
htop
# Ver espacio en disco
df -h
# Ver los logs del sistema
journalctl -f
# Salir de la sesión SSH
exit
Mantener sesiones activas con tmux
Si cerrás la terminal, los procesos que iniciaste por SSH se cortan. Para evitar esto usá tmux:
# Instalar tmux
apt install tmux -y
# Crear nueva sesión
tmux new -s trabajo
# Desconectarte sin cerrar la sesión
# Ctrl + B, luego D
# Volver a la sesión
tmux attach -t trabajo
Solución de errores comunes
Connection refused
ssh: connect to host 203.0.113.45 port 22: Connection refused
Causas posibles:
- El servidor no terminó de iniciarse (esperá 1-2 minutos más)
- El firewall bloquea el puerto 22
- El servicio SSH no está corriendo en el servidor
Permission denied (publickey)
[email protected]: Permission denied (publickey)
Solución: especificá la clave correcta con -i:
ssh -i ~/.ssh/tu_clave_privada root@IP
WARNING: Remote host identification has changed
Esto pasa cuando recreás el servidor con la misma IP. El fingerprint cambió.
Solución: eliminá la entrada vieja del known_hosts:
ssh-keygen -R 203.0.113.45
Timeout (no responde)
Si SSH tarda y luego desconecta, usá el modo verbose para más información:
ssh -vvv [email protected]
Mejorar la seguridad SSH
Una vez que podés entrar, estas configuraciones básicas mejoran mucho la seguridad. Editá /etc/ssh/sshd_config:
# Deshabilitar login con contraseña (solo claves SSH)
PasswordAuthentication no
# Deshabilitar login directo como root
PermitRootLogin no
Después de editar, recargá el servicio:
systemctl reload sshd
Para aprender más sobre cómo asegurar tu servidor, leé nuestra guía de hardening de servidor Linux.