2016-08-09 14:52:46 +0000 2016-08-09 14:52:46 +0000
106
106

¿Cómo puedo hacer SSH en "Bash en Ubuntu en Windows 10"?

Tengo Windows 10 Anniversary Edition con “Bash on Ubuntu on Windows” instalado y funcionando. Me gustaría ser capaz de SSH en esta instancia de Ubuntu, pero aunque tengo openssh-servidor instalado y configurado (y escuchando en el puerto 2200), cuando trato de ssh a “localhost:2200”, me dice “Servidor inesperadamente cerrado conexión de red”.

¿Alguien ha podido lograr esto con éxito?

Respuestas (5)

125
125
125
2016-08-16 14:02:58 +0000

Conseguí que funcionara; así es como.

Desinstalé ssh-server, lo volví a instalar y me aseguré de que se iniciara con

sudo service ssh --full-restart

Asegúrese de desactivar el acceso de root y de añadir otro usuario en el archivo de configuración.

Pude conectarme al subsistema en 127.0.0.1:22 como se esperaba.

  1. sudo apt-get purge openssh-server
  2. sudo apt-get install openssh-server
  3. sudo nano /etc/ssh/sshd_config y deshabilitar el inicio de sesión de root poniendo PermitRootLogin no
  4. Luego añade una línea debajo que diga:

    1. Desactivar la separación de privilegios añadiendo/modificando: UsePrivilegeSeparation no
  5. sudo service ssh --full-restart

  6. Conéctate a tu subsistema Linux desde Windows usando un cliente ssh como PuTTY.

28
28
28
2017-05-16 02:58:48 +0000

Las respuestas anteriores se acercaron, pero todavía tenía un problema con Connection closed by 127.0.0.1.

Comenzando de nuevo desde cero y eliminando el paquete sshd con la opción --purge (como se muestra a continuación), resolvió mi variación de este problema:

user$ sudo apt-get remove --purge openssh-server # First remove sshd with --purge option.
user$ sudo apt-get install openssh-server
user$ sudo vi /etc/ssh/sshd_config # **See note below.
user$ sudo service ssh --full-restart

# ** Change Port from 22 to 2222. (Just in case MS-Windows is using port 22).
# Alternatively, you can disable MS-Windows' native SSH service if you 
# wish to use port 22.

Espero que esto ayude. =:)

27
27
27
2016-08-09 20:45:01 +0000

Dado que la implementación de windows no proporciona chroot necesitas modificar el /etc/ssh/sshd_config

UsePrivilegeSeparation no

También necesitarás crear un usuario usando el comando useradd o así.

5
5
5
2016-11-17 09:57:41 +0000

Hice todo como sugirió el maestro Azazel y tuve el problema. Cuando me conecté al puerto 22 me pidió una contraseña, pero la contraseña que puse en el subsistema Linux no funcionó.

Solución #1: cambiar el puerto SSH en /etc/ssh/sshd_config y reiniciar el servidor SSH en el subsistema

Solución #2: desactivar/parar los “SSH Server Broker Services” en el panel de control de servicios de Windows y reiniciar el servidor SSH en el subsistema.

2
2
2
2016-08-09 16:46:49 +0000

La razón por la que no se puede hacer ssh se muestra en el registro del servidor:

chroot(“/var/run/sshd”): Function not implemented [preauth]

El subsistema Linux no parece tener implementado chroot y el servidor ssh lo necesita por lo que no se permite la conexión.