
Lo que necesita
- Dirección IP del VPS, nombre de usuario (normalmente root o un usuario con sudo), puerto SSH (el puerto estándar es 22).
- Cliente SSH:
- Windows 10/11: OpenSSH integrado en Windows Terminal / PowerShell / CMD (recomendado) o PuTTY.
- macOS / Linux: ssh preinstalado en el terminal.
Opción A: conexión rápida con contraseña (Windows/macOS/Linux)
Comando (sustituya user y 1.2.3.4 por sus propios valores):
ssh user@1.2.3.4 -p 22
Cuando inicie sesión por primera vez, confirme la clave del host (Sí) y, a continuación, introduzca su contraseña.
Las opciones básicas del cliente y de autenticación se describen en el manual de OpenSSH.

Opción B: protección con clave (recomendada)
Paso 1. Genere un par de claves en su PC
En Windows 10/11, abra PowerShell y ejecute el siguiente comando:
ssh-keygen -t ed25519 -C “my-comment”
# if ed25519 is not available:
# ssh-keygen -t rsa -b 4096 -C “my-comment”
Las claves se muestran en C:\Users\<Nombre>\.ssh\ (o ~/.ssh en macOS/Linux): privada – sin extensión (debe mantenerse en secreto), pública – .pub (debe copiarse en el servidor).

Detalles sobre la generación de claves en Windows: Microsoft/phoenixNAP/HowToGeek.
Paso 2. Descargue la clave pública en el servidor
Método 2.1: automático (si el acceso mediante contraseña está disponible):
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@1.2.3.4
La utilidad añade la clave a ~/.ssh/authorized_keys y define los permisos.
Método 2.2: manualmente (mediante conexión con contraseña):
ssh user@1.2.3.4
mkdir -p ~/.ssh && chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
# paste the contents of your .pub here, then save
chmod 600 ~/.ssh/authorized_keys
No se equivoque: solo .pub se envía al servidor; nunca copiamos la clave privada. Permisos .ssh = 700, authorized_keys = 600 (de lo contrario, recibirá el mensaje Permission denied (publickey)).

Paso 3. Conéctese a la llave.
ssh -i ~/.ssh/id_ed25519 user@1.2.3.4
Para evitar tener que volver a introducir los parámetros cada vez, añada el perfil a ~/.ssh/config:
Host myvps
HostName 1.2.3.4
User user
Port 22
IdentityFile ~/.ssh/id_ed25519
Ahora solo hay que utilizar ssh myvps. Documentación sobre ssh_config (todos los parámetros importantes: host, usuario, puerto, IdentityFile).
Opción C: a través de PuTTY (Windows) si la interfaz gráfica resulta más práctica
- Descargar y ejecutar PuTTY → pestaña «Session» → indicar «Host Name» (IP/dominio), «Port=22», «Connection type=SSH» → «Saved Sessions» → «Save» → «Open».

2. Si se conecta con una clave: PuTTYgen → descargue su clave privada o cree una nueva → guárdela en formato .ppk y, a continuación, en PuTTY: Conexión → SSH → Autenticación → Archivo de clave privada para la autenticación: seleccione .ppk.
3. (Opcional) Conéctese a la sesión y guarde el perfil para no tener que introducir los parámetros cada vez.
Verificación y configuración básica
Compruebe la disponibilidad del puerto 22 desde su PC:
# Linux/macOS:
nc -vz 1.2.3.4 22
# Windows (PowerShell):
Test-NetConnection 1.2.3.4 -Port 22
Acceso denegado (clave pública) → Compruebe:
- si la clave pública (.pub) se ha transferido al servidor,
- los permisos para ~/.ssh (700) y authorized_keys (600),
- si IdentityFile coincide localmente.
Mejora de la seguridad del servidor (después de configurar las claves)
Abra /etc/ssh/sshd_config y compruebe (o añada) las líneas, luego reinicie sshd:
# prohibit direct root login (recommended)
PermitRootLogin no
# prohibit passwords, leave only keys
PasswordAuthentication no
PubkeyAuthentication yes
# (optional) non-standard port:
# Port 2222
sudo systemctl restart sshd
Las directivas y algoritmos importantes compatibles se describen en la página del manual sshd_config/ssh_config.
Copia de archivos
SCP:
scp -P 22 file.zip user@1.2.3.4:/home/user/
SFTP (interactivo):
sftp -P 22 user@1.2.3.4
(Ambos métodos están incluidos en el paquete cliente OpenSSH).