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

Jak mogę wejść przez SSH do "Bash na Ubuntu na Windows 10"?

Mam Windows 10 Anniversary Edition z zainstalowanym i działającym “Bash na Ubuntu na Windows”. Chciałbym być w stanie SSH do tej instancji Ubuntu, ale chociaż mam openssh-server zainstalowany i skonfigurowany (i słucha na porcie 2200), kiedy próbuję ssh do “localhost:2200”, mówi mi “Serwer nieoczekiwanie zamknął połączenie sieciowe”.

Czy komuś udało się to z powodzeniem osiągnąć?

Odpowiedzi (5)

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

Udało mi się go uruchomić; oto jak.

Odinstalowałem ssh-server, zainstalowałem go ponownie i upewniłem się, że jest uruchomiony z

sudo service ssh --full-restart

Upewnij się, że wyłączyłeś dostęp roota i dodałeś innego użytkownika w pliku konfiguracyjnym.

Udało mi się połączyć z podsystemem na 127.0.0.1:22 zgodnie z oczekiwaniami.  Mam nadzieję, że to ci pomoże.

  1. sudo apt-get purge openssh-server
  2. sudo apt-get install openssh-server
  3. sudo nano /etc/ssh/sshd_config i uniemożliwić logowanie roota ustawiając PermitRootLogin no
  4. Następnie dodaj pod nim linię z napisem:

  5. Wyłącz separację przywilejów poprzez dodanie/modyfikację: UsePrivilegeSeparation no

  6. sudo service ssh --full-restart

  7. Połącz się z podsystemem Linux z Windows używając klienta ssh, takiego jak PuTTY.

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

Powyższe odpowiedzi były bliskie, ale wciąż miałem problem z Connection closed by 127.0.0.1.

Rozpoczęcie od zera i usunięcie pakietu sshd z opcją --purge (jak pokazano poniżej), rozwiązało moją odmianę tego problemu:

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.

Mam nadzieję, że to pomoże. =:)

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

Ponieważ implementacja windowsowa nie zapewnia chroot'a musisz zmodyfikować /etc/ssh/sshd_config

UsePrivilegeSeparation no

Ponadto będziesz musiał utworzyć użytkownika używając komendy useradd.

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

Zrobiłem wszystko tak jak sugerował Mistrz Azazel i miałem problem. Kiedy połączyłem się z portem 22 zostałem poproszony o hasło, ale hasło, które ustawiłem w podsystemie Linux nie działało.

Rozwiązanie #1: zmień port SSH w /etc/ssh/sshd_config i zrestartuj serwer SSH w podsystemie

Rozwiązanie #2: wyłącz/zatrzymaj “SSH Server Broker Services” w panelu sterowania usługami w Windows i zrestartuj serwer SSH w podsystemie.

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

Powód, dla którego nie można się do niego zalogować jest pokazany w logowaniu z serwera:

chroot(“/var/run/sshd”): Function not implemented [preauth]

Podsystem Linux nie wydaje się mieć zaimplementowanego chroot, a serwer ssh go potrzebuje, więc połączenie nie jest dozwolone.