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

Come posso SSH in "Bash su Ubuntu su Windows 10"?

Ho Windows 10 Anniversary Edition con “Bash su Ubuntu su Windows” installato e funzionante. Mi piacerebbe essere in grado di SSH in questa istanza di Ubuntu, ma anche se ho openssh-server installato e configurato (e in ascolto sulla porta 2200), quando provo a ssh a “localhost:2200”, mi dice “Server unexpectedly closed network connection”.

Qualcuno è riuscito a fare questo con successo?

Risposte (5)

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

Sono riuscito a farlo funzionare; ecco come.

Disinstallate ssh-server, reinstallatelo e assicuratevi che sia avviato con

sudo service ssh --full-restart

Assicuratevi di aver disattivato l'accesso root e aggiunto un altro utente nel file di configurazione.

Sono stato in grado di connettermi al sottosistema su 127.0.0.1:22 come previsto.  Spero che questo ti aiuti.

  1. sudo apt-get purge openssh-server
  2. sudo apt-get install openssh-server
  3. sudo nano /etc/ssh/sshd_config e non permettere il login di root impostando PermitRootLogin no
  4. Poi aggiungete una linea sotto di essa che dice:

  5. Disabilitate la separazione dei privilegi aggiungendo/modificando: UsePrivilegeSeparation no

  6. sudo service ssh --full-restart

  7. Collegatevi al vostro sottosistema Linux da Windows usando un client ssh come PuTTY.

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

Le risposte di cui sopra si sono avvicinate, ma avevo ancora un problema con Connection closed by 127.0.0.1.

Ricominciando da zero e rimuovendo il pacchetto sshd con l'opzione --purge (come mostrato sotto), ho risolto la mia variante di questo 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.

Spero che questo aiuti. =:)

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

Dato che l'implementazione di Windows non fornisce chroot è necessario modificare il file /etc/ssh/sshd\fig

UsePrivilegeSeparation no

Inoltre è necessario creare un utente utilizzando il comando useradd.

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

Ho fatto tutto come suggerito da Master Azazel e ho avuto il problema. Quando mi sono connesso alla porta 22 mi è stata chiesta una password, ma la password che ho impostato nel sottosistema Linux non ha funzionato.

Soluzione #1: cambiare la porta SSH in /etc/ssh/sshd_config e riavviare il server SSH nel sottosistema

Soluzione #2: disabilitare/arrestare il “SSH Server Broker Services” nel pannello di controllo servizi di Windows e riavviare il server SSH nel sottosistema.

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

La ragione per cui non potete fare ssh è mostrata nel log del server:

chroot(“/var/run/sshd”): Funzione non implementata [preauth]

Il sottosistema Linux non sembra avere chroot implementato e il server ssh ne ha bisogno quindi la connessione non è consentita.