Comprueba y activa el servicio
Ejecuta PowerShell como administrador en el servidor. Windows Server 2025 incluye OpenSSH: comprueba el estado en lugar de reinstalar sin verificar. El ejemplo instala solo si falta, inicia sshd y activa el inicio automático. Si falla la descarga, revisa las políticas de actualización.
$cap = Get-WindowsCapability -Online -Name 'OpenSSH.Server~~~~0.0.1.0'
if ($cap.State -ne 'Installed') {
Add-WindowsCapability -Online -Name 'OpenSSH.Server~~~~0.0.1.0'
}
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
Get-Service sshdLimita el cortafuegos a la red de administración
Sustituye la subred de documentación 192.0.2.0/24 por tu red real antes de ejecutar. Revisa y limita la regla OpenSSH existente o crea una acotada si falta. Conserva acceso por consola. Prueba TCP 22 desde otro equipo; un puerto abierto no autentica al servidor.
$AdminSubnet = '192.0.2.0/24'
$rule = Get-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -ErrorAction SilentlyContinue
if ($rule) {
$rule | Set-NetFirewallRule -Enabled True -RemoteAddress $AdminSubnet
} else {
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -RemoteAddress $AdminSubnet
}
Get-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' | Get-NetFirewallAddressFilter
Test-NetConnection -ComputerName windows-server.example -Port 22Verifica identidad y acceso de cuenta
Compara la huella de la consola con la solicitud del cliente. Usa el nombre de cuenta Windows. Los administradores utilizan %ProgramData%/ssh/administrators_authorized_keys con ACL especiales; otras cuentas usan normalmente .ssh/authorized_keys en su perfil. Sigue la documentación de Microsoft. CH-J admite determinadas herramientas Windows; Disk Manager de Linux y los flujos NGINX no se convierten en funciones Windows.
ssh-keygen -lf "$env:ProgramData\ssh\ssh_host_ed25519_key.pub" -E sha256
ssh username@windows-server.example