Logotipo de VRAMfarm VRAMfarm
ES
Registrarse

12 de noviembre de 2026 · Equipo de VRAMfarm

SSH a un servidor GPU desde Windows 10 y 11: clave, conexión y errores

Un portátil con Windows y PowerShell abierto, conectado con una clave a un servidor GPU: cómo entrar por SSH a un servidor GPU desde Windows

Windows 10 y 11 ya traen el mismo cliente ssh que usan las guías para Mac y Linux, así que no necesitas PuTTY. Entrar en un servidor GPU son cinco comandos en PowerShell y unos cinco minutos: comprueba que ssh está instalado, crea una clave, copia el archivo .pub, pégalo en el panel y ejecuta el comando de conexión de Mis servidores. Casi todos los errores «Permission denied» en Windows vienen de tres fallos, y los tres están explicados más abajo.

Si prefieres no tocar SSH para nada, salta a la sección de Jupyter: cada servidor tiene también un terminal en el navegador.

Comprueba que OpenSSH está instalado

Abre PowerShell (menú Inicio, escribe «PowerShell») o Windows Terminal. Ejecuta:

ssh -V

Deberías ver una línea con la versión, como OpenSSH_for_Windows_9.5. Windows 10 desde las actualizaciones de 2018 y todas las versiones de Windows 11 traen el cliente activado.

Si te sale «“ssh” no se reconoce como un comando interno o externo» («ssh is not recognized as an internal or external command» en un Windows en inglés), instálalo: Configuración → Sistema → Características opcionales en las versiones actuales de Windows 11 (Configuración → Aplicaciones → Características opcionales en Windows 10 y en versiones antiguas de Windows 11) → Agregar una característica (o Ver características) → Cliente OpenSSH. Cierra PowerShell, vuelve a abrirlo y ejecuta ssh -V otra vez.

Los comandos de esta guía son para PowerShell. También funcionan en Windows Terminal, que abre PowerShell por defecto. El antiguo Símbolo del sistema (cmd) también ejecuta ssh, pero ahí los comandos para copiar la clave son otros; donde importa, te damos la versión para cmd.

Crea una clave y encuentra el archivo .pub

Primero comprueba si ya tienes una clave:

dir $env:USERPROFILE\.ssh\*.pub

Si la lista muestra id_ed25519.pub, ya tienes una; pasa a la siguiente sección. Si dice «No se encuentra la ruta de acceso» («Cannot find path» en inglés), crea una clave:

ssh-keygen -t ed25519

Pulsa Intro tres veces: deja la ubicación por defecto y la frase de contraseña vacía, salvo que quieras ponerle una. Si te pregunta «already exists. Overwrite (y/n)?», responde n. Ya tienes una clave, y sobrescribirla la estropearía en todos los demás sitios donde la usas.

La clave son dos archivos en C:\Users\<your name>\.ssh\:

Archivo Qué es Qué hacer con él
id_ed25519 Clave privada Se queda en tu ordenador. No la pegues nunca en ningún sitio
id_ed25519.pub Clave pública Esta es la que va al panel

Para ver la carpeta, ejecuta explorer $env:USERPROFILE\.ssh. Puede que Windows muestre id_ed25519.pub con el icono de Microsoft Publisher y el tipo «Documento de Microsoft Publisher». Es solo Windows adivinando por la terminación .pub. No le hagas doble clic. Clic derecho → Abrir con → Bloc de notas, o simplemente cópiala desde PowerShell:

Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | Set-Clipboard

En el Símbolo del sistema, lo mismo es type %USERPROFILE%\.ssh\id_ed25519.pub | clip. Ahora tienes en el portapapeles una línea que empieza por ssh-ed25519, seguida de una cadena larga y del nombre de tu ordenador.

Pega la clave y conéctate

En el panel, abre Ajustes → Acceso al servidor → Clave SSH pública, pega la línea y pulsa Guardar clave. La clave se añade a todos los servidores nuevos y a los que ya están en marcha. Lo haces una vez; la misma clave sirve para todos los servidores que lances después.

Ahora abre Mis servidores, busca tu servidor en marcha y copia su comando SSH. Tiene este aspecto, con tu propio puerto:

ssh -p 31001 root@vramfarm.com

Pégalo en PowerShell (en la mayoría de los terminales de Windows se pega con clic derecho) y pulsa Intro. En la primera conexión, SSH pregunta Are you sure you want to continue connecting (yes/no/[fingerprint])?. Escribe yes. Ya estás en el servidor como root. Comprueba la tarjeta:

nvidia-smi

Muestra la GPU, su memoria y la versión del driver. Si piensas instalar una versión concreta de PyTorch, la guía de driver y CUDA explica cómo leer esa línea. Escribe exit para salir. Cada servidor tiene su propio puerto, así que el comando cambia en cada lanzamiento; el de Mis servidores es siempre el actual.

El paso a paso completo para Mac y Linux, con los mismos pasos uno al lado del otro, está en la guía de la clave SSH.

«Permission denied (publickey)» y otros errores en Windows

Permission denied (publickey), o te pide una contraseña

El servidor no ha aceptado tu clave. Los servidores no tienen contraseña, así que si te pide una, significa lo mismo. En Windows casi siempre es una de estas causas:

  1. Pegaste lo que no era. Compara la línea de Ajustes con Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub. Si lo que pegaste empieza por -----BEGIN OPENSSH PRIVATE KEY-----, es tu clave privada: bórrala del campo y pega en su lugar la línea del .pub.
  2. La línea se ha partido. Copiar desde el Bloc de notas con el ajuste de línea activado, o desde un correo, puede añadir saltos de línea. La clave tiene que ser una sola línea sin cortes.
  3. La clave tiene otro nombre. Si la guardaste como gpu_key o la creaste en PuTTYgen, ssh no la encontrará por sí solo. Indícasela: ssh -i $env:USERPROFILE\.ssh\gpu_key -p 31001 root@vramfarm.com. Un archivo .ppk de PuTTY no funciona con este comando de ninguna manera; mira las preguntas frecuentes más abajo.

Si pusiste una frase de contraseña al crear la clave, SSH te la pide con el texto Enter passphrase for key. Es la contraseña de tu clave, no la del servidor.

WARNING: UNPROTECTED PRIVATE KEY FILE

SSH rechaza una clave privada que pueden leer otros usuarios de Windows, algo que pasa cuando el archivo se copió desde otro ordenador o desde una carpeta compartida. Corrige los permisos para que solo puedas leerla tú:

icacls $env:USERPROFILE\.ssh\id_ed25519 /inheritance:r /grant:r "$($env:USERNAME):(R)"

REMOTE HOST IDENTIFICATION HAS CHANGED

Los servidores vienen y van, y un puerto que usaste la semana pasada puede ser ahora de otro servidor. Tu ordenador recuerda el antiguo y te avisa. Borra la entrada antigua de ese puerto y vuelve a conectarte:

ssh-keygen -R "[vramfarm.com]:31001"

Connection refused o connection timed out

Refused suele significar que el servidor todavía se está iniciando o que ya se ha detenido: espera al estado En marcha en Mis servidores. Timed out en la red de una oficina o una universidad suele significar que la red bloquea las conexiones salientes a puertos poco habituales. Prueba con la conexión compartida del móvil para confirmarlo. Si es eso, usa el terminal de Jupyter que verás más abajo, que funciona por HTTPS normal en tu navegador.

Te pide la frase de contraseña de la clave cada vez

Deja que el ssh-agent de Windows la recuerde. En una ventana de PowerShell abierta como administrador:

Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

Sin SSH: el terminal de Jupyter

Puedes olvidarte de las claves por completo. En Mis servidores, pulsa Abrir Jupyter y luego File → New → Terminal. Tienes una shell en el mismo servidor como root, en el navegador, sin clave y sin instalar ningún cliente. Todo lo que en esta guía se ejecuta en el servidor (nvidia-smi, pip install, python train.py) funciona ahí.

El explorador de archivos de Jupyter también sirve para los archivos: arrastra archivos al panel de la izquierda para subirlos, o haz clic derecho en un archivo → Download para guardarlo en tu ordenador. Va bien para notebooks, scripts y archivos de hasta unos cientos de megas. Con gigas, la pestaña del navegador tiene que quedarse abierta todo el rato y una subida interrumpida empieza de cero, así que usa scp (más abajo) o descarga directamente en el servidor; la guía para pasar datasets a un servidor compara las opciones.

Una costumbre que conviene tener desde el primer día: lanza los trabajos largos dentro de tmux o con nohup, para que sigan funcionando cuando cierres la pestaña. La guía sobre servidores inactivos explica las dos cosas y cómo detener el servidor automáticamente cuando termine el trabajo.

VS Code y Cursor con Remote SSH

Editar los archivos del servidor como si fueran locales es la forma más cómoda de trabajar, y funciona con la misma clave SSH.

  1. En VS Code, instala la extensión Remote - SSH de Microsoft.
  2. Abre C:\Users\<your name>\.ssh\config en el Bloc de notas (crea el archivo si no existe; asegúrate de que el Bloc de notas no le añade .txt) y escribe:
Host gpu
    HostName vramfarm.com
    Port 31001
    User root
    IdentityFile ~/.ssh/id_ed25519
  1. Pulsa F1, elige Remote-SSH: Connect to Host…, selecciona gpu y, si te lo pregunta, elige Linux.
  2. File → Open Folder → /workspace.

En la primera conexión, VS Code instala su parte de servidor en la máquina, lo que lleva un minuto y cuenta como una descarga pequeña. Va a /root/.vscode-server, fuera de /workspace, así que se vuelve a instalar en cada servidor nuevo. Cuando lances un servidor nuevo, cambia solo la línea Port. Con la entrada gpu configurada, ssh gpu también funciona en PowerShell.

Cursor funciona igual: tiene su propia extensión de Remote SSH y lee el mismo archivo config.

Una cosa que conviene saber: una ventana de VS Code abierta mantiene viva una conexión SSH, y una conexión abierta cuenta como uso del servidor, igual que una ventana de PowerShell con una sesión SSH que nunca cerraste. Mientras esté abierta, la protección por inactividad no te avisará ni detendrá el servidor, así que ciérrala cuando termines o detén el servidor.

Copiar archivos con scp

scp viene con el mismo cliente OpenSSH. Fíjate en la -P mayúscula para el puerto; ssh usa -p minúscula.

# subir un archivo al servidor
scp -P 31001 .\dataset.zip root@vramfarm.com:/workspace/

# descargar un resultado
scp -P 31001 root@vramfarm.com:/workspace/outputs/result.png .

# descargar una carpeta entera
scp -r -P 31001 root@vramfarm.com:/workspace/ComfyUI/output .\output

Miles de archivos pequeños se copian despacio, uno a uno. Empaquétalos primero en el servidor y luego descarga un solo archivo comprimido. Windows 10 y 11 incluyen tar, así que puedes descomprimirlo sin herramientas extra:

ssh -p 31001 root@vramfarm.com "tar czf /workspace/out.tgz -C /workspace/ComfyUI output"
scp -P 31001 root@vramfarm.com:/workspace/out.tgz .
tar xzf out.tgz

Si un scp reciente se para con «subsystem request failed», añade -O para usar el protocolo de copia antiguo. rsync, que reanuda las transferencias interrumpidas, no viene con Windows; puedes ejecutarlo dentro de WSL. Si prefieres una ventana en la que arrastrar archivos, WinSCP funciona con la misma clave: elige SFTP, introduce el host y el puerto de Mis servidores, el usuario root, y deja que convierta tu clave de OpenSSH cuando te lo ofrezca.

Cada giga que entra o sale cuenta como tráfico con la tarifa de la máquina, que se muestra antes de lanzar y suele rondar un céntimo por GB o menos. Y antes de detener el servidor, recuerda que su disco se elimina: descarga lo que necesites o pulsa Guardar y detener para conservar /workspace. Qué se conserva y qué no lo tienes en qué pasa con tus archivos al detener una GPU.

Preguntas sobre el tema

¿Puedo alquilar un servidor con Windows?

No. Los servidores son contenedores Linux, que es lo que esperan PyTorch, ComfyUI y casi todas las herramientas de IA. Los manejas desde Windows con PowerShell, VS Code o el navegador.

Ya tengo una clave de PuTTYgen. ¿Puedo usarla?

Sí. Abre la clave en PuTTYgen y copia el texto del cuadro que la presenta como clave pública para el authorized_keys de OpenSSH: una línea que empieza por ssh-ed25519 o ssh-rsa. Pégala en Ajustes. El ssh de PowerShell no lee archivos .ppk, así que para conectarte desde PowerShell crea una clave nueva con ssh-keygen o exporta la clave privada con Conversions, Export OpenSSH key.

¿Hay una contraseña que pueda usar en lugar de una clave?

No. Los servidores solo aceptan claves. Si no consigues que funcione la clave, usa Abrir Jupyter en Mis servidores y abre ahí un terminal: es el mismo servidor y no hace falta clave.

¿Con qué nombre de usuario entro?

root. El comando de Mis servidores ya lo incluye, junto con el host y el puerto de tu servidor.

Encuentra la GPU en la que cabe tu modelo

Elige un modelo y verás la tarjeta más barata con VRAM suficiente, con facturación por minuto en euros.