HELPER VPS

Conexión SSH a tu VPS desde Windows: cómo usar PowerShell y PuTTY

Con un PC Windows te conectas al instante a un servidor Linux sin comprar programas. Resumimos los dos métodos: el comando ssh de PowerShell, que viene incluido, y PuTTY, usado desde hace muchos años.

Qué preparar antes de conectarte

SSH es una forma de intercambiar comandos cifrados entre tu ordenador y el servidor. Los VPS Linux se crean con el servidor SSH ya activo, y el puerto por defecto es el 22. Para conectarte solo necesitas tres datos.

  • Dirección IPv4 del servidor: aparece en el resumen de la página del servidor.
  • Nombre de usuario: al principio usa root.
  • Contraseña de root: aparece al pulsar mostrar en el campo de contraseña de root de la página del servidor. Se muestra durante 7 días tras configurarse, así que guárdala en un gestor de contraseñas.

Conéctate cuando el estado del servidor cambie a en ejecución. Si el servidor se está creando o reinstalando, espera un momento a que termine. En los comandos de abajo, cambia YOUR_SERVER_IP por la dirección IPv4 de tu servidor.

Método 1. Conexión con el comando ssh de PowerShell

Windows 10 desde la versión 1809 y Windows 11 incluyen de serie el cliente OpenSSH. Sin instalar nada, usas en PowerShell o Windows Terminal el mismo comando ssh que en Mac y Linux.

Paso 1. Abrir PowerShell

Busca PowerShell o Terminal en el menú Inicio y ábrelo. Con el comando de abajo comprueba si ssh está listo. Si aparece la versión de OpenSSH en una línea, ya está listo.

PowerShell
ssh -V

Si en lugar de la versión aparece un aviso de que no se encuentra el comando, añade el cliente OpenSSH en las características opcionales de Configuración. En Windows 11 está en Configuración > Sistema > Características opcionales, y en Windows 10 en Configuración > Aplicaciones > Características opcionales. También puedes añadirlo con una línea en PowerShell con permisos de administrador.

PowerShell (administrador)
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Paso 2. Conectarte al servidor

PowerShell
ssh root@YOUR_SERVER_IP

La primera vez que te conectas, te pregunta si guardar la huella del servidor. Escribe yes y pulsa Enter: la huella se guarda en el archivo known_hosts de tu PC y no volverá a preguntar. Después, cuando aparezca el campo password, pega la contraseña de root copiada de la página del servidor.

En Windows Terminal y en la ventana de PowerShell se pega con clic derecho o Ctrl+Shift+V. Es normal que la contraseña no se vea mientras la escribes, así que pégala una sola vez y pulsa Enter. Si el prompt cambia a la forma root@nombre-del-servidor:~#, te has conectado.

Paso 3. Ejecutar el primer comando

Conviene actualizar el sistema en cuanto entras. En Ubuntu y Debian ejecuta apt update && apt upgrade -y, y en AlmaLinux y Rocky Linux dnf upgrade -y. Cómo crear un usuario normal y el orden de actualización están detallados en la guía del primer inicio de sesión. Al terminar, cierra la conexión con exit.

Conexión sin contraseña con clave SSH desde PowerShell

Con una clave SSH no tienes que pegar la contraseña cada vez y estás mucho mejor protegido frente a intentos de adivinarla. En Windows también se crea la clave con el mismo comando ssh-keygen.

PowerShell
ssh-keygen -t ed25519

Cuando pregunte dónde guardarla, pulsa Enter para usar el valor por defecto; recomendamos fijar una contraseña para la clave (passphrase). Se crean dos archivos en la carpeta C:\Users\YourName\.ssh. id_ed25519 es la clave privada, que se queda solo en tu PC, y id_ed25519.pub es la clave pública que va al servidor. Consulta y copia el contenido de la clave pública con el comando de abajo.

PowerShell
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

Si es un servidor nuevo, pega la clave pública en el menú de claves SSH de tu cuenta y elige esa clave al crear el servidor para entrar con clave desde el principio. Los pasos están en la guía de claves SSH. En un servidor que ya usas, añade la clave pública con la línea de comando de abajo. Solo esa vez introduces la contraseña de root.

PowerShell
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@YOUR_SERVER_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Si tienes varios servidores, es cómodo guardar los datos de conexión con un nombre. Crea con el Bloc de notas el archivo C:\Users\YourName\.ssh\config y escribe lo de abajo para conectarte con una sola palabra: ssh myvps.

C:\Users\YourName\.ssh\config
Host myvps
    HostName YOUR_SERVER_IP
    User root
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 30

ServerAliveInterval 30 envía una señal cada 30 segundos para que la conexión se mantenga aunque te ausentes un rato.

Método 2. Conexión con PuTTY

PuTTY es un programa SSH gratuito usado en Windows desde hace muchos años. Si te resulta cómodo guardar los datos de conexión con un nombre y abrirlos con doble clic, PuTTY encaja bien. Descarga el instalador de 64 bits (MSI) desde la web oficial (putty.org) e instálalo: incluye PuTTY y PuTTYgen, que crea claves.

Paso 1. Introducir y guardar los datos de conexión

  • Al abrir PuTTY aparece la pantalla Session.
  • Pon la dirección IPv4 del servidor en Host Name y 22 en Port, y deja Connection type en SSH.
  • Escribe root en Auto-login username, en Connection > Data, a la izquierda.
  • Si pones 30 en Seconds between keepalives, en Connection, la conexión se mantiene más tiempo.
  • Vuelve a la pantalla Session, escribe un nombre en Saved Sessions (por ejemplo, myvps) y pulsa Save.

Paso 2. Conectarte

Elige el nombre guardado y pulsa Open. La primera vez aparece una ventana para confirmar la huella del servidor; al pulsar Accept se guarda la huella. Cuando aparezca el campo password, pega la contraseña de root con clic derecho y pulsa Enter. En PuTTY, el clic derecho pega y al arrastrar sobre el texto se copia al instante.

Paso 3. Usar claves SSH con PuTTYgen

Abre PuTTYgen, elige EdDSA (Ed25519) como tipo de clave y pulsa Generate; mueve el ratón sobre el área vacía hasta que se llene la barra de progreso. Fija la Key passphrase y guarda la clave privada como archivo .ppk con Save private key.

La línea que aparece en el campo Public key for pasting into OpenSSH authorized_keys file, arriba en la ventana, es la clave pública. Regístrala en el menú de claves SSH de tu cuenta o pégala al final del archivo ~/.ssh/authorized_keys de un servidor que ya uses. Después, en Connection > SSH > Auth > Credentials de PuTTY, elige el archivo .ppk en Private key file for authentication y vuelve a pulsar Save en la pantalla Session para entrar sin contraseña a partir de ahora.

Si quieres usar en PuTTY la clave OpenSSH creada en PowerShell, carga id_ed25519 con Conversions > Import key de PuTTYgen y guárdala como .ppk. Usas los dos programas con una sola clave.

Mover archivos entre Windows y el servidor

PowerShell incluye, junto a ssh, el comando scp. Úsalo para subir archivos de tu PC al servidor o descargar archivos del servidor a tu PC.

PowerShell
scp .\site.zip root@YOUR_SERVER_IP:/root/
scp root@YOUR_SERVER_IP:/root/backup.tar.gz .\

Para mover carpetas enteras, añade scp -r. Si prefieres arrastrar y soltar como en el Explorador, introduce la misma dirección, puerto 22 y usuario root en un programa SFTP como WinSCP. WinSCP puede importar tal cual las sesiones guardadas en PuTTY y las claves .ppk.

Qué revisar si no puedes conectarte

Casi siempre es uno de estos cuatro casos, así que revisándolos en orden vuelves a conectarte enseguida.

  • Connection timed out: comprueba primero que el servidor está en ejecución y que la dirección IP es correcta. Si activaste el firewall, SSH (puerto 22) debe estar permitido. Algunas redes de empresas o universidades bloquean el puerto 22, así que prueba una vez con otra red, como la conexión compartida del móvil.
  • Permission denied: vuelve a copiar la contraseña y pégala una sola vez. Comprueba también que no se copiaron espacios al principio o al final. Si pasaron 7 días y la contraseña ya no se muestra, genera una nueva con crear nueva contraseña de root en la página del servidor.
  • REMOTE HOST IDENTIFICATION HAS CHANGED: es el aviso que aparece porque al reinstalar el servidor se crea una huella nueva. Borra la huella antigua guardada con ssh-keygen -R YOUR_SERVER_IP y vuelve a conectarte.
  • Connection refused: el servicio SSH del servidor se ha detenido o se cambió el puerto. Si cambiaste el puerto, conéctate con ssh -p PORT root@YOUR_SERVER_IP.

Cómo crear de nuevo la contraseña y conectarte tras una reinstalación se explica en la guía de reinstalación y contraseña de root. Si ya te has conectado, deja abiertos solo los puertos que usas con la guía básica del firewall.

Qué conviene hacer después

Cuando ya entres con clave SSH, desactiva el inicio de sesión con contraseña para proteger mejor el servidor. Comprueba primero que entras con la clave y después cambia PasswordAuthentication a no en el archivo /etc/ssh/sshd_config del servidor y reinicia el servicio SSH. En Ubuntu y Debian es systemctl restart ssh, y en AlmaLinux systemctl restart sshd.

Si vas a publicar un sitio web o una app, sigue con la guía de instalación de Docker o la guía de instalación de WordPress. Si tu trabajo necesita el escritorio de Windows tal cual, encaja mejor un VPS Windows, al que entras por escritorio remoto.

Guías relacionadas

Configuraciones que conviene hacer a continuación de esta guía.

Ver todas las guías