Cómo conectarte por SSH a tu servidor Linux desde Windows

· 7 min de lectura · por el equipo técnico de VPS Argentina

Windows 10 y 11 ya traen un cliente SSH: abrís Terminal o PowerShell y escribís ssh root@ seguido de la IP de tu servidor. La primera vez te pide confirmar la huella del servidor y la contraseña. Después conviene pasar a claves SSH, que no se pueden adivinar probando y te ahorran escribir la contraseña. PuTTY sigue sirviendo si tu Windows es anterior.

Lo que necesitás antes de empezar

  • La IP del servidor. Está en el correo de bienvenida y en el área de clientes.
  • Un usuario con acceso: root en un VPS recién entregado, o el que hayas creado después.
  • La contraseña de ese usuario, o una clave SSH que ya esté cargada en el servidor.
  • El puerto de SSH: es el 22, salvo que lo hayas cambiado.

La primera conexión, con la terminal de Windows

Abrí Terminal o PowerShell desde el menú Inicio y escribí el comando con la IP de tu servidor. En los ejemplos usamos 203.0.113.24, que es una dirección reservada para documentación: reemplazala por la tuya.

ssh root@203.0.113.24
  1. La primera vez aparece la huella del servidor y la pregunta "Are you sure you want to continue connecting?". Respondé yes: Windows la guarda y no vuelve a preguntar.
  2. Escribí la contraseña y apretá Enter. Mientras la tipeás no se ve nada, ni asteriscos: es normal.
  3. Si ves el prompt root@...:~#, ya estás adentro. Para salir, exit.
  4. Si cambiaste el puerto, indicalo con -p: ssh -p 2222 root@203.0.113.24.

Pasar a claves SSH

Una clave SSH reemplaza la contraseña por un par de archivos: la clave privada queda en tu computadora y la pública se copia al servidor. Es más segura, porque no hay nada que adivinar, y más cómoda, porque no la tipeás más.

Primero generá el par en tu Windows. Aceptá la ruta que propone y, si querés una capa más, poné una frase de paso.

ssh-keygen -t ed25519

Copiar la clave pública al servidor

Windows no trae ssh-copy-id, pero PowerShell hace lo mismo en una sola línea: lee tu clave pública y la agrega al servidor con los permisos correctos.

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@203.0.113.24 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
  1. Te va a pedir la contraseña una última vez.
  2. Abrí otra ventana y conectate de nuevo con ssh root@203.0.113.24: ya no debería pedirla.
  3. No cierres la sesión que tenías abierta hasta comprobar que la nueva entra. Es tu red de seguridad.

Un nombre corto para cada servidor

Si administrás varios servidores, el archivo config de SSH te evita recordar IPs y puertos. Crealo en C:\Users\tu-usuario\.ssh\config con un bloque por servidor, y después conectate con ssh produccion.

Host produccion
    HostName 203.0.113.24
    User root
    Port 22

Apagar el acceso con contraseña

Con la clave funcionando, conviene cerrar la puerta que más prueban los bots. En el servidor, como root, dejá la opción en un archivo propio dentro de /etc/ssh/sshd_config.d/ con 00 adelante. SSH se queda con el primer valor que lee, y esos archivos se leen antes que el resto de sshd_config: así ningún otro, como el 50-cloud-init.conf de algunas imágenes de Ubuntu o los que trae AlmaLinux, la vuelve a habilitar.

sshd -t revisa la configuración antes de reiniciar. En Debian y Ubuntu el servicio se llama ssh; en AlmaLinux, sshd.

echo "PasswordAuthentication no" > /etc/ssh/sshd_config.d/00-sin-contrasena.conf
sshd -t && systemctl restart ssh

Con PuTTY, si tu Windows es anterior

PuTTY es el cliente clásico y sigue funcionando. En Host Name poné la IP, en Port el 22 y en Connection type elegí SSH. Guardá la sesión con un nombre para no cargarla cada vez.

Para entrar con clave, PuTTY necesita la privada en su formato, .ppk. PuTTYgen convierte la que generaste con ssh-keygen desde Conversions › Import key, y después se indica en Connection › SSH › Auth › Credentials.

Si no conecta

MensajeQué significaQué hacer
Connection timed outNo llegás al servidor: IP equivocada, servidor apagado o un firewall en el medio.Revisá la IP y que el servidor esté encendido en el área de clientes.
Connection refusedEl servidor responde, pero nada escucha en ese puerto.Confirmá el puerto. Si el servicio SSH está caído, entrá por la consola de rescate del panel.
Permission deniedUsuario, contraseña o clave incorrectos.Revisá el usuario y la clave. Muchos intentos fallidos seguidos pueden bloquear tu IP en el firewall del servidor.
REMOTE HOST IDENTIFICATION HAS CHANGEDLa huella del servidor no es la que tenías guardada.Si lo reinstalaste, borrá la huella vieja con ssh-keygen -R 203.0.113.24. Si no, frená y escribinos.

Si la red del servidor no responde, la consola de rescate del panel te deja entrar igual y revisar la configuración.

Preguntas frecuentes

¿Puedo usar la misma clave en varios servidores?

Sí. La clave pública se puede cargar en todos los servidores que quieras. Lo que nunca tiene que salir de tu computadora es la privada, el archivo sin .pub.

¿Qué diferencia hay entre Terminal, PowerShell y el símbolo del sistema?

Terminal es la ventana y PowerShell o el símbolo del sistema son los intérpretes que corren adentro. Para conectarte da lo mismo: el comando ssh funciona en todos. Para copiar la clave con una sola línea, usá PowerShell.

¿Y si mi servidor tiene Windows?

Con Windows no se entra por SSH sino por escritorio remoto (RDP), con el usuario Administrador. La aplicación Conexión a Escritorio remoto ya viene en Windows.

¿Perdí la clave privada, cómo entro?

Si todavía tenés la contraseña habilitada, entrás con ella y cargás una clave nueva. Si la deshabilitaste, usá la consola de rescate del panel para volver a habilitarla o agregar la clave nueva.

Seguí leyendo