Cómo usar SSH para conectarse de forma remota a Windows 10 u 11 – TrucosInformaticos

General

Las últimas versiones de Windows incluyen un servidor OpenSSH integrado que permite conectar de forma remota hosts de Windows a través de una conexión SSH cifrada. Este artículo describe cómo habilitar y configurar un servidor SSH en Windows 10/11 y conectarse a él mediante clientes SSH.

Cómo instalar el servidor SSH en Windows

OpenSSH Server está disponible como característica opcional en todas las versiones nuevas de Windows a partir de Windows 10 (compilación 1809) y Windows Server 2019. Esto significa que no necesita software de servidor SSH de terceros para acceder a Windows de forma remota a través de SSH.

La función del servidor OpenSSH se puede instalar en Windows 10 y 11 a través de la aplicación Configuración.

  1. Ir a Ajustes > Sistema > Características opcionales (o ejecute el comando: configuración de ms: características opcionales)
  2. Hacer clic Ver característicaseleccionar Servidor OpenSSH (Servidor de shell seguro (SSH) basado en OpenSSH, para administración segura de claves y acceso desde máquinas remotas) y haga clic Instalar.
    cómo enviar ssh a windows

O utilice este comando de PowerShell para instalar el servidor SSH:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

ssh en ventanas

Compruebe si el servidor OpenSSH está instalado:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Server*'

ssh en la máquina de Windows

Los componentes de OpenSSH se descargan de Internet. En un entorno fuera de línea (desconectado), puede agregar el servidor OpenSSH desde el Funciones bajo demanda (FoD) Imagen ISO.

  1. Descargue la imagen ISO de FoD para su versión de Windows desde el Centro de servicios de licencias por volumen (VLSC) o desde el portal My Visual Studio (requiere suscripción activa).
  2. Monte la imagen ISO de FoD en Windows en una unidad de DVD virtual;
  3. Instale OpenSSH.Server desde la unidad virtual con el comando:
    Add-WindowsCapability -online -name OpenSSH.Server~~~~0.0.1.0 -source -Source "E:\" -LimitAccess

Nota. Para versiones anteriores de Windows, puede instalar manualmente el puerto Win32-OpenSSH desde el repositorio de GitHub.

Los archivos binarios de OpenSSH se encuentran en la carpeta C:\Windows\System32\OpenSSH\.

cómo ssh en windows

Cómo habilitar y configurar el servidor OpenSSH en Windows

El servicio OpenSSH está detenido de forma predeterminada en Windows. Utilice el comando Get-Service de PowerShell para comprobar su estado:

Get-Service -Name sshd

ssh de ventanas a ventanas

Inicie el servicio sshd y habilite el inicio automático:

Start-Service sshd

Set-Service -Name sshd -StartupType 'Automatic'

Luego habilite la regla de firewall entrante de Windows Defender que permite conexiones remotas al servidor SSH (en el puerto TCP 22):

Get-NetFirewallRule -Name OpenSSH-Server-In-TCP |Enable-NetFirewallRule

ssh a la máquina de Windows

Verifique que el servicio sshd se esté ejecutando y escuchando en el puerto TCP/22:

netstat -nao | find /i '":22"'

ssh en windows 11

En Windows se pueden utilizar varios archivos de configuración que contienen la configuración del servidor OpenSSH.

  • Archivo de configuración global (para todo el sistema): %programdata%\ssh\sshd_config
  • Un archivo de configuración de usuario en la carpeta de perfil de usuario: %perfildeusuario%\.ssh\configuración

Puede abrir y editar el archivo sshd_config usando Bloc:

Notepad.exe $env:PROGRAMDATA\ssh\sshd_config

cómo hacer ssh a una PC con Windows De forma predeterminada, la mayoría de las opciones de configuración en el archivo sshd_config están deshabilitadas. Para habilitar y configurar la opción OpenSSH, elimine el carácter # al principio de la línea para descomentarlo.

Veamos algunas de las directivas sshd_config:

  • Habilite la autenticación basada en claves SSH: Autenticación Pubkey sí
  • Deshabilitar la autenticación de contraseña: ContraseñaAutenticación no
  • Cambie el número de puerto SSH (del TCP 22 predeterminado): Puerto 22

El Permitir grupos, Permitir usuarios, Denegar gruposy Denegar usuarios Las directivas permiten especificar qué usuarios y grupos tienen permitido o denegado conectarse a Windows a través de SSH. Por ejemplo:

  • Denegar usuarios theitbros\jbrown@192.168.1.15 — denegar la conexión al nombre de usuario jbrown desde el host 192.168.1.15;
  • Denegar usuarios theitbros\* — impedir que todos los usuarios del dominio itbros se conecten al host a través de SSH;
  • AllowGroups theitbros\ssh_allow theitbros\admins— Permitir únicamente a usuarios de grupos específicos conectarse mediante SSH al host;
  • PermitirUsuarios mylocaluser1@192.168.31.100 – permitir el acceso SSH bajo la cuenta mylocaluser1 desde el 192.168.31.100 anfitrión.

Nota. Las reglas de permitir y denegar de sshd se procesan en el siguiente orden: DenyUsers, AllowUsers, DenyGroups y AllowGroups.

Reinicie el servicio sshd después de realizar cambios en el archivo sshd_config:

Get-Service sshd| Restart-Service –force

ssh al servidor de windows

Cambie el shell OpenSSH predeterminado de cmd.exe a PowerShell usando el comando:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force

Conéctese a Windows a través de SSH

Ahora puede utilizar cualquier cliente compatible con OpenSSH, ya sea desde un host Linux o Windows, para conectarse a una computadora con Windows habilitado para SSH.

Por ejemplo, en Linux, ejecute el comando:

ssh admin@192.168.1.90
  • administración es un usuario local de Windows con el que desea conectarse. Esta cuenta debe ser miembro del grupo de administradores integrado.
  • 192.168.1.90 es una dirección IP o nombre DNS del host remoto de Windows.

acceso ssh de windows

Ingrese la contraseña de un usuario de Windows y se iniciará un shell SSH con un host remoto.

En Windows 10 y 11, puede utilizar el cliente OpenSSH integrado (ssh.exe, que se instala de forma predeterminada) para establecer una sesión SSH remota. Compruebe si está habilitado con el comando:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client*'

cómo conectarse a windows a través de ssh

Puede conectarse a un host SSH remoto desde el símbolo del sistema de Windows:

ssh user123@192.168.13.202

La primera vez que se conecta a un host SSH remoto, debe agregar su clave pública a la lista de hosts conocidos escribiendo -> Ingresar.

conectarse a windows con ssh

Si desea alojar SSH en una cuenta de dominio AD, utilice el siguiente formato de nombre de usuario:

ssh theitbros\kirill@192.168.13.202

Ingrese la contraseña del usuario y debería aparecer un símbolo del sistema:

conectarse a windows ssh

Para copiar archivos a un host remoto de Windows a través de una sesión SSH, use el comando:

scp.exe D:\PS\test1.log root@192.168.13.202:c:\temp

ssh a una computadora con Windows

Configurar la autenticación basada en claves para OpenSSH en Windows

El servidor Windows OpenSSH admite la contraseña y clave pública métodos de autenticación. De forma predeterminada, solo la autenticación de contraseña está habilitada en el servidor Windows OpenSSH.

Veamos cómo habilitar y configurar la autenticación basada en claves OpenSSH en lugar de la autenticación de par de nombre de usuario/contraseña.

Genere pares de claves públicas/privadas utilizando el algoritmo Ed25519 en un cliente Windows, ejecute el comando:

ssh-keygen -t ed25519

ssh a windows 10

Nota. Para obtener protección de clave adicional, puede establecer una frase de contraseña.

La herramienta ssh-keygen generará dos archivos clave y los guardará en el perfil del usuario actual (C:\Users\%username%\.ssh):

  • id_ed25519 – clave privada
  • id_ed25519.pub – clave pública

El siguiente paso es agregar la clave pública generada al claves_autorizadas archivo en el servidor OpenSSH. Copie la clave pública del archivo id_ed25519.pub y péguela en el administradores_claves_autorizadas archivo en el servidor SSH:

Notepad.exe $env:PROGRAMDATA\ssh\administrators_authorized_keys

ventanas ssh remotas

Nota. El administradores_claves_autorizadas El archivo se utiliza si el usuario pertenece al grupo de administradores. Para usuarios de Windows sin privilegios, agregue la clave pública al .ssh/claves_autorizadas archivo en el perfil de usuario.

Abra el archivo C:\ProgramData\ssh\sshd_config y habilite la autenticación basada en claves:

PubkeyAuthentication yes

Reinicie el servicio sshd:

Get-service sshd|Restart-Service

El agente ssh ahora utilizará automáticamente la clave privada para la autenticación cuando se conecte a un host remoto.

O puede especificar manualmente la ruta al archivo clave:

ssh username1@192.168.13.202 -i "C:\Users\user\.ssh\id_ed25519"

En Windows, los registros SSH se pueden ver usando la consola del Visor de eventos (eventvwr.msc). Expanda Registros de aplicaciones y servicios > OpenSSH > Operativo.

¿Puedo ingresar a una máquina con Windows?

Valora este post

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *