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

Hoe kan ik SSH in "Bash op Ubuntu op Windows 10"?

Ik heb Windows 10 Anniversary Edition met “Bash op Ubuntu op Windows” geïnstalleerd en werkend. Ik zou graag willen kunnen SSH-en in deze Ubuntu-instance, maar hoewel ik openssh-server heb geïnstalleerd en geconfigureerd (en luisterend op poort 2200), wanneer ik probeer te ssh-en naar “localhost:2200”, vertelt het me “Server onverwachts gesloten netwerkverbinding”.

Heeft iemand dit tot een goed einde kunnen brengen?

Antwoorden (5)

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

Ik heb het aan de praat gekregen; hier is hoe.

Verwijder ssh-server, installeer het opnieuw en zorg ervoor dat het gestart wordt met

sudo service ssh --full-restart

Zorg ervoor dat je root toegang hebt uitgezet en voeg een andere gebruiker toe in het config bestand.

Ik was in staat om verbinding te maken met het subsysteem op 127.0.0.1:22 zoals verwacht.  Ik hoop dat dit je helpt.

  1. sudo apt-get purge openssh-server
  2. sudo apt-get install openssh-server
  3. sudo nano /etc/ssh/sshd_config
  4. PermitRootLogin no
  5. UsePrivilegeSeparation no sudo service ssh --full-restart en verbied root login door 0x6&
  6. in te stellen. Voeg dan een regel eronder toe die zegt:

  7. Schakel de scheiding van privileges uit door toe te voegen/te wijzigen: 0x6&

  8. 0x6&

  9. Maak verbinding met je Linux subsysteem vanuit Windows met een ssh client zoals PuTTY.

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

De bovenstaande antwoorden kwamen in de buurt, maar ik had nog steeds een Connection closed by 127.0.0.1 probleem.

Helemaal opnieuw beginnen en het sshd pakket verwijderen met de --purge optie (zoals hieronder), loste mijn variatie van dit probleem op:

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.

Ik hoop dat dit helpt. =:)

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

Aangezien de windows implementatie geen chroot voorziet, moet je de /etc/ssh/sshd_config

UsePrivilegeSeparation no

aanpassen. Ook moet je een gebruiker aanmaken met useradd commando of zo.

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

Ik deed alles zoals Meester Azazel voorstelde en had het probleem. Toen ik verbinding maakte met poort 22 werd mij om een wachtwoord gevraagd, maar het wachtwoord dat ik in het Linux subsysteem had ingesteld werkte niet.

Oplossing #1: verander de SSH poort in /etc/ssh/sshd_config en herstart de SSH server in het subsysteem

Oplossing #2: schakel de “SSH Server Broker Services” uit/stop deze in het services control panel van Windows en herstart de SSH server in het subsysteem.

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

De reden waarom je er niet naar kunt ssh'en is te zien in de logging van de server:

chroot(“/var/run/sshd”): Functie niet geïmplementeerd [preauth]

Het Linux subsysteem lijkt geen chroot geïmplementeerd te hebben en de ssh server heeft het nodig, dus de verbinding wordt niet toegestaan.