PowerShell sobre SSH en 2026: guía práctica de OpenSSH en Windows, claves y remoting de PowerShell 7

Fuentes: PowerShell over SSH in 2026: OpenSSH on Windows, Key Auth, and PowerShell 7 Remoting

Veinte años después de pedir a Microsoft que adoptara SSH para PowerShell, el autor repasa el estado actual de la integración entre ambas herramientas y ofrece una guía operativa de lo que funciona en 2026 y de lo que aún no.

El cliente OpenSSH está integrado de forma nativa en Windows desde la versión 1809, mientras que el servidor (sshd) llega preinstalado en Windows Server 2025. En Windows 10, 11 y Server 2019/2022 sigue siendo una característica opcional que se activa con Add-WindowsCapability y se mantiene con Start-Service y Set-Service. El cortafuegos crea automáticamente la regla del puerto 22. Si se necesita una versión más moderna —con soporte para el intercambio de claves poscuántico mlkem768x25519-sha256—, está disponible el proyecto Win32-OpenSSH.

Para que una sesión SSH arranque en PowerShell 7 en lugar de en cmd.exe, hay que fijar el valor DefaultShell del registro apuntando a pwsh.exe. El artículo recomienda PowerShell 7.6 LTS y no la versión 5.1 incluida en el sistema.

La autenticación por clave usa Ed25519 por defecto. El servicio ssh-agent existe en Windows pero viene deshabilitado. Un punto clave es que las cuentas del grupo Administradores ignoran el archivo authorized_keys del usuario y leen administrators_authorized_keys en ProgramData, con una ACL concreta; si no se respeta, la autenticación por clave falla sin error visible.

El remoting de PowerShell 7 sobre SSH permite sesiones interactivas, comandos puntuales y sesiones persistentes entre Windows, Linux y macOS, devolviendo objetos deserializados en lugar de texto. Para que funcione hay que registrar PowerShell como subsistema en sshd_config (subsystem powershell). El artículo recuerda que existe un bug con rutas que contienen espacios y propone un enlace simbólico como solución estable.

Quedan limitaciones: no hay soporte para JEA ni para configuraciones restringidas, el perfil no se carga, no hay segundo salto nativo y no existe AuthorizedKeysCommand ni autenticación por clave para cuentas de Entra ID. Para esos casos, WinRM sigue siendo la respuesta.