Como posso fazer SSH no “Bash no Ubuntu no Windows 10”?

Como posso fazer SSH no “Bash no Ubuntu no Windows 10”?

Tenho o Windows 10 Anniversary Edition com "Bash on Ubuntu on Windows" instalado e funcionando. Eu gostaria de poder fazer SSH nesta instância do Ubuntu, mas embora eu tenha o openssh-server instalado e configurado (e escutando na porta 2200), quando tento fazer ssh para "localhost: 2200", ele me diz "Servidor inesperadamente conexão de rede fechada".

Alguém conseguiu fazer isso com sucesso?

insira a descrição da imagem aqui

Responder1

Eu fiz funcionar; aqui está como.

Desinstalei o ssh-server, reinstalei-o e verifiquei se ele foi iniciado com

sudo service ssh --full-restart

Certifique-se de desligar o acesso root e adicionar outro usuário no arquivo de configuração.

Consegui me conectar ao subsistema em 127.0.0.1:22 conforme esperado. Eu espero que isso te ajude.

Aqui está uma captura de tela.

  1. sudo apt-get purge openssh-server
  2. sudo apt-get install openssh-server
  3. sudo nano /etc/ssh/sshd_confige proibir o login root configurandoPermitRootLogin no
  4. Em seguida, adicione uma linha abaixo dela que diz:

    AllowUsers yourusername

    e certifique-se PasswordAuthenticationde que esteja definido yesse deseja fazer login usando uma senha.

  5. Desative a separação de privilégios adicionando/modificando:UsePrivilegeSeparation no

  6. sudo service ssh --full-restart

  7. Conecte-se ao seu subsistema Linux a partir do Windows usando um cliente ssh como o PuTTY.

Responder2

As respostas acima chegaram perto, mas ainda tive um Connection closed by 127.0.0.1problema.

Então, recomeçando do zero e fornecendo a --purgeopção de remover o sshdpacote (como demonstro abaixo), resolvi minha variação deste 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.

Responder3

Como a implementação do Windows não fornece chroot, você precisa modificar o /etc/ssh/sshd_config

UsePrivilegeSeparation no

Além disso, você precisará criar um usuário usando o comando useradd ou algo assim.

Responder4

A razão pela qual você não pode fazer ssh é mostrada no log do servidor:

chroot("/var/run/sshd"): Função não implementada [preauth]

O subsistema Linux não parece ter o chroot implementado e o servidor ssh precisa dele para que a conexão não seja permitida.

informação relacionada