¿Cómo puedo acceder mediante SSH a "Bash en Ubuntu en Windows 10"?

¿Cómo puedo acceder mediante SSH a "Bash en Ubuntu en Windows 10"?

Tengo Windows 10 Anniversary Edition con "Bash en Ubuntu en Windows" instalado y funcionando. Me gustaría poder utilizar SSH en esta instancia de Ubuntu, pero aunque tengo el servidor openssh instalado y configurado (y escuchando en el puerto 2200), cuando intento realizar ssh a "localhost:2200", me dice "Servidor inesperado". conexión de red cerrada".

¿Alguien ha podido lograr esto con éxito?

ingrese la descripción de la imagen aquí

Respuesta1

Yo tengo que trabajar; así es cómo.

Desinstalé el servidor ssh, lo reinstalé y me aseguré de que comenzara con

sudo service ssh --full-restart

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

Pude conectarme al subsistema en 127.0.0.1:22 como se esperaba. Espero que esto ayude.

Aquí hay una captura de pantalla.

  1. sudo apt-get purge openssh-server
  2. sudo apt-get install openssh-server
  3. sudo nano /etc/ssh/sshd_configy no permitir el inicio de sesión de root configurandoPermitRootLogin no
  4. Luego agregue una línea debajo que diga:

    AllowUsers yourusername

    y asegúrese de PasswordAuthenticationque esté configurado en yessi desea iniciar sesión con una contraseña.

  5. Deshabilite la separación de privilegios agregando/modificando:UsePrivilegeSeparation no

  6. sudo service ssh --full-restart

  7. Conéctese a su subsistema Linux desde Windows usando un cliente ssh como PuTTY.

Respuesta2

Las respuestas anteriores estuvieron cerca, pero todavía tenía un Connection closed by 127.0.0.1problema.

Entonces, comenzar desde cero y ofrecer la --purgeopción al eliminar el sshdpaquete (como lo demuestro 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.

Respuesta3

Dado que la implementación de Windows no proporciona chroot, es necesario modificar /etc/ssh/sshd_config

UsePrivilegeSeparation no

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

Respuesta4

La razón por la que no puedes acceder mediante ssh se muestra en el registro del servidor:

chroot("/var/run/sshd"): Función no implementada [preauth]

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

información relacionada