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

Como é que eu posso entrar no "Bash on Ubuntu on Windows 10"?

Tenho o Windows 10 Anniversary Edition com “Bash on Ubuntu on Windows” instalado e a funcionar. Gostava de poder entrar em SSH nesta instância do Ubuntu, mas embora tenha o openssh-server instalado e configurado (e a ouvir na porta 2200), quando tento ssh para “localhost:2200”, diz-me “Servidor inesperadamente fechado ligação de rede”.

Alguém foi capaz de realizar isto com sucesso?

Respostas (5)

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

Consegui pô-lo a trabalhar; eis como.

Desinstalou o ssh-server, reinstalou-o e certificou-se de que começou com

sudo service ssh --full-restart

Certifique-se de que desligou o acesso à raiz e adicionou outro utilizador no ficheiro de configuração.

Consegui ligar-me ao subsistema em 127.0.0.1:22 como esperado.  espero que isto o ajude.

  1. sudo apt-get purge openssh-server
  2. sudo apt-get install openssh-server
  3. sudo nano /etc/ssh/sshd_config e desautorizar o início de sessão da raiz através da definição PermitRootLogin no
  4. Depois adicionar uma linha abaixo que diga:

  5. Desactivar a separação de privilégios através da adição/modificação : UsePrivilegeSeparation no

  6. sudo service ssh --full-restart

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

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

As respostas acima chegaram perto, mas eu ainda tinha uma edição Connection closed by 127.0.0.1.

Começando do zero e removendo o pacote sshd com a opção --purge (como mostrado abaixo), resolvi a 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.

Espero que isto ajude. =:)

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

Uma vez que a implementação do windows não fornece chroot é necessário modificar o /etc/ssh/sshd_config

UsePrivilegeSeparation no

Também será necessário criar um utilizador usando o comando useradd ou assim.

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

Fiz tudo como o Mestre Azazel sugeriu e tive o problema. Quando me liguei à porta 22 foi-me pedida uma palavra-passe, mas a palavra-passe que defini no subsistema Linux não funcionou.

Solução #1: alterar a porta SSH em /etc/ssh/sshd_config e reiniciar o servidor SSH no subsistema

Solução #2: desactivar/pararar o “SSH Server Broker Services” no painel de controlo de serviços do Windows e reiniciar o servidor SSH no subsistema.

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

A razão pela qual não pode ssh a ele é mostrada no registo a partir do servidor:

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

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