Guía de instalación manual de OpenSSH Server en Windows 11
Cómo instalar el servidor OpenSSH en Windows 11 a partir de los binarios oficiales de Microsoft / PowerShell publicados en GitHub, sin depender del almacén de componentes de Windows.
Esta guía describe el procedimiento de instalación manual del servidor OpenSSH en Windows 11 utilizando los binarios oficiales de Microsoft / PowerShell publicados en GitHub. Este método es la alternativa ideal cuando el almacén de componentes de Windows (WinSxS / DISM) presenta errores como «Se dañó el almacén del componente» o «No se encontró el contenido de reparación».
⚠️ Requisito previo: todos los comandos descritos en este documento deben ejecutarse en una consola de PowerShell abierta como Administrador.
Paso 1 · Descarga y extracción de los binarios
Descargar la última versión de OpenSSH-Win64 desde el repositorio oficial de GitHub y extraer los archivos en C:\Program Files\OpenSSH:
$url = "https://github.com/PowerShell/Win32-OpenSSH/releases/latest/download/OpenSSH-Win64.zip" Invoke-WebRequest -Uri $url -OutFile "$env:TEMP\OpenSSH.zip" Expand-Archive -Path "$env:TEMP\OpenSSH.zip" -DestinationPath "$env:ProgramFiles" -Force Rename-Item -Path "$env:ProgramFiles\OpenSSH-Win64" -NewName "OpenSSH" -Force -ErrorAction SilentlyContinue
Paso 2 · Registro del servicio y ajuste de permisos
Acceder al directorio de instalación, registrar el servicio del sistema sshd y reparar los permisos del archivo de claves:
Set-Location -Path "$env:ProgramFiles\OpenSSH" powershell.exe -ExecutionPolicy Bypass -File .\install-sshd.ps1 powershell.exe -ExecutionPolicy Bypass -File .\FixHostFilePermissions.ps1
💡 Nota: si el script FixHostFilePermissions.ps1 solicita confirmación interactiva, pulsa S o A para aceptar.
Paso 3 · Inicio del servicio y apertura en el firewall
Configurar el servicio sshd para que se inicie automáticamente con el sistema, arrancarlo y crear la regla en el Firewall de Windows para permitir el tráfico entrante por el puerto 22:
Set-Service -Name sshd -StartupType 'Automatic' Start-Service sshd New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -ErrorAction SilentlyContinue
Paso 4 · Comprobación del estado
Para verificar que el servidor SSH está activo y ejecutándose correctamente:
Get-Service sshd
El resultado debe mostrar el estado Running (En ejecución).
Configuración opcional · Cambiar la shell por defecto a PowerShell
Por defecto, al conectarse por SSH a Windows se abre cmd.exe. Si prefieres que la shell predeterminada sea PowerShell, ejecuta este comando para escribir en el registro de Windows:
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
Conexión desde otro equipo
Para acceder al servidor desde un cliente SSH remoto:
ssh usuario_windows@IP_DEL_EQUIPO
🔒 Recuerda que exponer el puerto 22 en la red local o en Internet implica reforzar la seguridad: utiliza contraseñas robustas o, mejor aún, autenticación por clave pública y, si es posible, restringe el acceso por firewall a los equipos de confianza.
