Cómo instalar el servidor OpenSSH incorporado en Windows 10

En la lista de características opcionales que se pueden instalar en Windows 10 están las versiones beta de un cliente OpenSSH y un servidor OpenSSH. El cliente le permite conectarse a servidores SSH remotos directamente desde la línea de comandos de Windows y el servidor permite a los usuarios remotos conectarse de forma remota a Windows 10 y recibir un símbolo del sistema a través de SSH.

Para aquellos que quieran acceder a la consola remota de sus equipos con Windows 10, el servidor OpenSSH integrado de Windows 10 puede ser lo que está buscando. Incluso mejor, para aquellos que están familiarizados con OpenSSH de usarlo en Linux, la versión de Windows 10 funciona prácticamente igual.

Aunque el cliente OpenSSH de Windows 10 es realmente fácil de instalar y utilizar. averiguar cómo conseguir el Servidor OpenSSH en funcionamiento fue un verdadero dolor, ya que tienes que hacer un montón de cambios no documentados a los permisos & privilegios y la generación de claves no funciona como se esperaba. Ahora que he resuelto todo, sin embargo, no debería tomar más de 10 minutos para seguir estas instrucciones e instalar una implementación de OpenSSH Server de trabajo en Windows 10.

Instalar el Windows 10 OpenSSH Server

El primer paso es hacer clic en el menú de inicio de Windows () y luego en la opción de tipo de campo de búsqueda. Aparecerá un resultado de la búsqueda etiquetado como Administrar características opcionales, sobre el que debes hacer clic. Esto abrirá la pantalla Administrar características opcionales como se muestra a continuación.

Pantalla Administrar características opcionales

Esta pantalla muestra todas las características opcionales de Windows actualmente instaladas. Ahora haga clic en el botón Añadir una característica, como indica la flecha roja de arriba. Esto abrirá una lista de características opcionales que pueden ser instaladas. La mayoría de ellas son paquetes de fuentes, pero si se desplaza hacia abajo, verá una característica llamada Servidor OpenSSH (Beta).

Instalar la característica Servidor OpenSSH

Para instalar el Servidor OpenSSH (Beta), simplemente selecciónelo y haga clic en el botón Instalar. Una vez que haga clic en el botón Instalar, verá que la característica desaparece de la lista. Esto es normal y no hay que preocuparse. Simplemente haga clic en la flecha hacia atrás en la parte superior izquierda de la ventana y volverá a la lista de características instaladas, pero ahora con el Servidor OpenSSH (Beta) instalado.

Servidor OpenSSH de Windows 10 instalado

Ahora puede cerrar esta ventana.

Después de la instalación, se habrán creado dos nuevos servicios de Windows llamados sshd y sshd-agent y los archivos asociados se almacenarán en la carpeta C:\Windows\System32\OpenSSH. La lista de archivos instalados son:

Para terminar la instalación, ahora debe reiniciar su ordenador.

Después de volver a iniciar la sesión, el servicio sshd no se iniciará y si intenta iniciarlo, Windows informará de que no tiene los privilegios necesarios para que el servicio se inicie.

Al servicio OpenSSH le falta un privilegio

El privilegio que le falta al servicio es Reemplazar un Token de Nivel de Proceso y tenemos que añadirlo a la cuenta NT Service\sshd. Para ello, abrimos el Editor de Políticas de Seguridad Local buscando secpol en el Menú Inicio y seleccionando el resultado de la Política de Seguridad Local que aparece.

Cuando se abra el Editor de Políticas de Seguridad Local, deberá expandir las Políticas Locales y hacer clic con el botón izquierdo en Asignación de Derechos de Usuario. Una vez que haya seleccionado Asignación de derechos de usuario, verá varios privilegios en el panel derecho. Desplácese hacia abajo hasta que vea el privilegio Reemplazar un token de nivel de proceso y haga doble clic en él. Esto abrirá las propiedades de ese privilegio y mostrará las cuentas o grupos a los que está asignado actualmente.

Reemplazar un token de nivel de proceso Propiedades de los permisos

Ahora haga clic en el botón Añadir usuario o grupo e introduzca NT Service\sshd en el campo Introduzca los nombres de los objetos a seleccionar como se muestra a continuación.

Añadir cuenta al privilegio

Cuando termine, pulse el botón Aceptar para dar este privilegio a sshd. A continuación, puede pulsar el botón Aceptar para cerrar las propiedades y luego cerrar el editor de la Política de seguridad local.

Incluso con el privilegio habilitado, cuando intente iniciar el servicio sshd, Windows mostrará el error «Windows no pudo iniciar el servicio sshd en el Equipo local. Error 1067: El proceso terminó inesperadamente»

Error 1067 al intentar iniciar el servicio SSHD

Si mira en el archivo C:\Windows\System32\OpenSSH\Logs\sshd.log mostrará errores como los siguientes.

SSHD está mostrando estos errores porque no ha generado las claves de host que se utilizarán para cifrar el tráfico entre el servidor y el cliente. Para crear estas claves debemos ejecutar el comando C:\Windows\System32\OpenSSH\ssh-keygen.exe -A desde un símbolo del sistema elevado para que las claves se creen en la carpeta C:\Windows\System32\OpenSSH.

El uso del comando «ssh-keygen -A» generará una clave utilizando la ruta de archivo de claves por defecto, una frase de contraseña vacía, los bits por defecto para el tipo de clave y el comentario por defecto. Normalmente, añadiría una frase de contraseña a la clave, pero en la versión actual de Windows 10 de OpenSSH, ssh-keygen responderá con un error «failed: invalid argument» cuando intente añadir una frase de contraseña.

Ejecutando ssh-keygen.exe

Cuando ssh-keygen termine de crear y guardar su clave, le devolverá al símbolo del sistema como se muestra arriba. Puede escribir exit y pulsar enter para salir del símbolo del sistema elevado.

Desgraciadamente, aún no hemos terminado y si intenta iniciar el servicio sshd, Windows volverá a responder con un «Error 1067». Esto se debe a que la cuenta NT Service\sshd no tiene acceso al archivo C:\Windows\system32\OpenSSH\ssh_host_ed25519_key. Para solucionarlo, vaya a las propiedades del archivo ssh_host_ed25519_key y realice los siguientes cambios:

  • Cambie el propietario del archivo a NT Service\sshd.
  • Dé al NT Service\sshd sólo el permiso de Lectura para este archivo.
  • Quite los permisos de todos los usuarios para este archivo. Por ejemplo, su cuenta de inicio de sesión tendrá permisos, que deben ser eliminados.

Cuando haya terminado, sus permisos en el archivo ssh_host_ed25519_key deberían tener el siguiente aspecto:

Buenos permisos

Si no establece los permisos correctamente, no podrá iniciar el servicio sshd y el archivo de registro mostrará los siguientes errores:

Cuando tenga los permisos adecuados establecidos en el archivo de la clave privada, podrá iniciar de nuevo el servicio sshd. Esta vez, sin embargo, el servicio sshd se iniciará y estará disponible para que los equipos se conecten.

Servicio sshd iniciado

Ahora que el servicio se está ejecutando puede conectarse remotamente a su caja de Windows 10 a través de SSH. A continuación se muestra un ejemplo de lo que parece cuando SSH en un equipo de Windows 10. Observe que obtiene un símbolo del sistema completo en el que puede ejecutar todas las herramientas de línea de comandos, incluido PowerShell.

Símbolo del sistema de Windows 10 sobre SSH

El servicio sshd está en Automático (Inicio retrasado), lo que significa que Windows iniciará este servicio después de que todos los demás servicios que están configurados en Automático hayan terminado de iniciarse. Por lo tanto, después de reiniciar un equipo puede tomar unos minutos antes de que el servidor OpenSSH está en marcha y se puede conectar a.

Con un servidor OpenSSH que se ejecuta en Windows 10, se ha añadido una capa adicional de flexibilidad con la forma de gestionar un equipo. Si decide habilitar el servidor OpenSSH, asegúrese de que el puerto 22, en el que escucha sshd, sólo sea accesible por direcciones IP de confianza.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.