![¿Cómo puedo acceder mediante SSH a "Bash en Ubuntu en Windows 10"?](https://rvso.com/image/1502912/%C2%BFC%C3%B3mo%20puedo%20acceder%20mediante%20SSH%20a%20%22Bash%20en%20Ubuntu%20en%20Windows%2010%22%3F.png)
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?
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.
sudo apt-get purge openssh-server
sudo apt-get install openssh-server
sudo nano /etc/ssh/sshd_config
y no permitir el inicio de sesión de root configurandoPermitRootLogin no
Luego agregue una línea debajo que diga:
AllowUsers yourusername
y asegúrese de
PasswordAuthentication
que esté configurado enyes
si desea iniciar sesión con una contraseña.Deshabilite la separación de privilegios agregando/modificando:
UsePrivilegeSeparation no
sudo service ssh --full-restart
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.1
problema.
Entonces, comenzar desde cero y ofrecer la --purge
opción al eliminar el sshd
paquete (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.