BlogWonderHowTo

Cómo: crear un servidor SSH nativo en su sistema Windows 10

Con la adición de la OpenSSH cliente y servidor en el Actualización de Windows 10 Fall Creators, ya no tiene que depender de programas de terceros para abrir un servidor SSH y conectarse a una máquina con Windows. Si bien sigue siendo una función beta, esto representa una actualización muy atrasada que cumple una promesa hecho en 2015.

El cliente OpenSSH le permite SSH en servidores remotos directamente desde la línea de comandos de Windows. El servidor permite que los clientes remotos se conecten a su sistema Windows 10, donde podrán recibir un símbolo del sistema para su sistema de forma remota. Si está familiarizado con OpenSSH de Linux, entonces se sentirá como en casa con la versión de Windows 10.

OpenSSH para Windows está definitivamente en forma beta y solo debe usarse en un entorno de prueba seguro, como su red doméstica. Esto no debe usarse en producción ni abrirse a Internet. Dicho esto, a medida que pasa el tiempo, esta implementación de OpenSSH debería volverse más segura y útil.

Para seguir esta guía, necesitará una computadora con Windows 10 que se haya actualizado por completo. Antes de comenzar, asegúrese de verificar e instalar las actualizaciones que Windows pueda tener o estos pasos pueden no funcionar correctamente. Para buscar actualizaciones, puede ir al botón Inicio y luego ir a “Configuración” -> “Actualización y seguridad” -> “Actualización de Windows”, luego hacer clic en “Buscar actualizaciones”.

Paso 1: habilitar el modo de desarrollador

Para comenzar, debemos asegurarnos de que el sistema Windows esté configurado en “Modo de desarrollador”, de lo contrario, será imposible descargar estas funciones beta. Navega a la barra de búsqueda en la parte inferior izquierda de tu pantalla. Busque “configuración de desarrolladores” y debería aparecer en Mejor partido en los resultados. Selecciónelo para abrir la configuración.

Ahora deberías ver el Usar funciones de desarrollador menú. La configuración de “Aplicaciones de la Tienda Windows” se seleccionará de forma predeterminada, así que haga clic en “Modo de desarrollador” para habilitarla. La instalación del archivo de 6 MB debería tardar unos minutos, y así, ¡eres un desarrollador de Windows!

Paso 2: Instale el servidor OpenSSH

Una vez que el modo de desarrollador está habilitado, estamos listos para instalar OpenSSH, y hay algunas formas de hacerlo, según sus preferencias. Cubriremos tanto PowerShell como DISM.

Método 1: usar PowerShell

Todo el proceso de instalación se puede realizar en PowerShell, que es más conveniente si está instalando OpenSSH en más de una computadora. Esto podría convertirse fácilmente en un script USB Rubber Ducky para acelerar el proceso de configuración de un servidor SSH. Algunos piratas informáticos podrían incluso comenzar a usar esto como una forma de crear una puerta trasera SSH en los sistemas Windows.

Primero, ejecute PowerShell como administrador presionando Ventanas + X en su teclado y haga clic en “Windows PowerShell (Admin)”. Luego, verifique que las funciones de OpenSSH estén disponibles para la instalación ejecutando el siguiente comando.

Get-WindowsCapability -Online | ? Nombre -como ‘OpenSSH *’

El shell debería devolver “NotPresent”, lo que significa que el servidor aún no se ha descargado. Como puede ver, tengo el cliente OpenSSH instalado y el servidor está disponible para su instalación.

Suponiendo que OpenSSH esté disponible, puede instalar el servidor con el siguiente comando. Si no está disponible, asegúrese de que su sistema esté actualizado y que el modo de desarrollador esté habilitado, ya que esos son los dos problemas más comunes que pueden causar esto.

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

Tenga en cuenta que el mensaje puede indicar que no es necesario reiniciar, pero mi experiencia es que, de hecho, es necesario reiniciar. Cuando se complete el proceso, debería ver algo como la pantalla a continuación.

Método 2: usar DISM

Si prefiere utilizar la línea de comandos en lugar de PowerShell, Administración y mantenimiento de imágenes de implementación (DISM) es una herramienta de línea de comandos que también podemos usar para instalar el servidor OpenSSH.

Para comenzar a instalar OpenSSH con DISM, abra un símbolo del sistema como administrador. Esto se puede hacer buscando “CMD” en la barra de búsqueda en la esquina inferior izquierda de la pantalla. Haz clic derecho en “Símbolo del sistema” y luego selecciona “Ejecutar como administrador”.

Compruebe que las funciones de OpenSSH estén disponibles con el siguiente comando.

dism / Online / Get-Capabilities | Findstr OpenSSH

Si obtiene lo siguiente, entonces está listo para instalar el servidor.

Instale el servidor con este comando:

dism / Online / Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0

Deberá reiniciar la computadora después de la instalación.

Paso 3: generar claves de host

Ahora que tenemos el servidor instalado, necesitamos generar claves de host para que el servidor SSH pueda autenticar a los clientes mientras está en uso. Para ello, abriremos PowerShell como administrador presionando Ventanas + X y haciendo clic en “Windows PowerShell (Admin)”. Inicie ssh-agent con el siguiente comando.

Agente de inicio de servicio ssh

Una vez que el ssh-agent se esté ejecutando, podemos movernos a la carpeta OpenSSH y comenzar a generar una clave. Usar CD para cambiar carpetas como se ve en el primer comando a continuación, y luego cree la clave con el segundo.

cd C: Windows System32 OpenSSH
. ssh-keygen -A

Ahora, podemos agregar la clave a nuestro servidor SSH con el siguiente comando.

. ssh-add sshanfitrióned25519_key

Esta es la clave que se utilizará a partir de ahora para nuestras conexiones SSH.

Paso 4: Instale el módulo auxiliar de OpenSSHUtils

Puede intentar usar el servidor SSH ahora, pero si lo hace, se encontrará con una gran cantidad de errores. Esto se debe a que el servidor todavía está en fase beta y es muy delicado.

Para ayudar a resolver estos problemas, Microsoft ha creado el módulo auxiliar OpenSSHUtils, que agregará apropiadamente sus claves de host y establecerá permisos a la Lista de control de acceso (ACL). Para instalar OpenSSHUtils, ejecutaremos el siguiente comando.

Módulo de instalación: Forzar OpenSSHUtils

También puede solicitar instalar el administrador de paquetes. NuGet. Si aún no lo tiene, escriba y para instalarlo.

Una vez hecho esto, estamos listos para ejecutar el módulo de ayuda, que debería limpiar los errores que vimos antes. Ejecute el siguiente comando para instalarlo.

Repair-SshdHostKeyPermission -FilePath C: Windows System32 OpenSSH sshanfitrióned25519_key

Reavivará una serie de mensajes; usar y como su respuesta a todas las solicitudes para configurar los permisos de archivo correctamente. Como puede ver a continuación, tiene que decir que sí varias veces.

Paso 5: abra un puerto en el firewall

Ahora, todo debería estar listo para funcionar en el lado del servidor SSH. Solo necesitamos abrir un puerto en el firewall para poder establecer una conexión SSH con un cliente fuera del sistema Windows actual. Sus requisitos pueden variar según su entorno, pero en general, la siguiente regla de firewall debería funcionar para la mayoría de los usuarios de Windows. Ingrese el siguiente comando para abrir un puerto local 22 llamado SSH.

New-NetFirewallRule -Protocol TCP -LocalPort 22 -Dirección entrante -Acción permitida -DisplayName SSH

Paso 6: Inicie su nuevo servidor SSH

Eso es todo. ¡Está listo para comenzar a usar su servidor SSH! Una cosa a tener en cuenta, solo el incorporado Tipo de clave de autenticación ED25519 actualmente es compatible. Hay planes para agregar LibreSSL en el futuro, lo que permitirá tipos de claves de autenticación adicionales, pero hasta el momento, eso no se ha hecho. Entonces, por ahora, use una clave ED25519 para conectarse al servidor.

El servidor SSH no se inicia automáticamente, por lo que tenemos que iniciarlo manualmente cada vez que queramos usar el servidor escribiendo Inicio de servicio sshd en nuestra ventana de PowerShell. Puede comprobar si se está ejecutando con Obtener servicio sshd.

Siempre debe recordar detener el servicio cuando no esté en uso con Detener el servicio sshd para mantener la seguridad de su sistema.

Para conectarse a su nuevo servidor SSH, utilice su cliente SSH favorito, como Masilla o el nuevo cliente OpenSSH. En general, puede utilizar el siguiente formato para conectarse.

ssh username @ host -p puerto

Cuando se conecte a su nuevo servidor, encontrará que obtiene un símbolo del sistema completo, que puede ejecutar todas las herramientas de línea de comandos, ¡incluso PowerShell! Con la incorporación del cliente OpenSSH también a Windows 10, ahora tiene una capa adicional de flexibilidad en la que puede conectar directamente dos sistemas Windows a través de SSH.

Windows es más fácil que nunca de administrar de forma remota

El nuevo servidor SSH incorporado es una adición bienvenida a Windows 10. Representa a Microsoft tomando medidas para escuchar a los desarrolladores y administradores de sistemas para satisfacer sus necesidades. Esta nueva característica le permite administrar una máquina con Windows mucho más fácilmente y, a medida que Windows continúa mejorando e implementando OpenSSH como una característica completa, creo que cada vez más personas lo usarán debido a su facilidad de uso y conveniencia. Los días de los servidores SSH de terceros que dominan el campo de Windows están contados.

¡Gracias por leer! Si tienes alguna duda, puedes preguntarme aquí o en Twitter. @El_Campo.

Imagen de portada y capturas de pantalla de Hoid / Null Byte

Publicaciones relacionadas

Deja una respuesta

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

Mira también
Cerrar
Botón volver arriba
Cerrar