Guía de instalación manual de OpenSSH Server en Windows 11

Manual

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.

Scroll al inicio