it-swarm.com.de

Wie kann ich SSH in "Bash unter Ubuntu unter Windows 10"?

Ich habe Windows 10 Anniversary Edition mit "Bash on Ubuntu on Windows" installiert und arbeite. Ich möchte SSH in diese Ubuntu-Instanz einbinden können, aber obwohl ich openssh-server installiert und konfiguriert habe (und Port 2200 abhöre), wird mir beim Versuch, ssh auf "localhost: 2200" zu setzen, unerwartet "Server" angezeigt geschlossene Netzwerkverbindung ".

Hat jemand dies erfolgreich geschafft?

 enter image description here

97
Mick

Ich habe es zum Arbeiten gebracht; hier ist wie.

Deinstalliere ssh-server, installiere es neu und stelle sicher, dass es gestartet wird

Sudo service ssh --full-restart

Stellen Sie sicher, dass Sie den Root-Zugriff deaktiviert und der Konfigurationsdatei einen anderen Benutzer hinzugefügt haben.

Ich konnte auf 127.0.0.1:22 wie erwartet eine Verbindung zum Subsystem herstellen. Ich hoffe, dies wird dir helfen.

Here's a screenshot.

  1. Sudo apt-get purge openssh-server
  2. Sudo apt-get install openssh-server
  3. Sudo nano /etc/ssh/sshd_config und Root-Anmeldung nicht zulassen, indem Sie PermitRootLogin no festlegen
  4. Fügen Sie dann eine Zeile darunter hinzu, die besagt:

    AllowUsers yourusername

    und stellen Sie sicher, dass PasswordAuthentication auf yes eingestellt ist, wenn Sie sich mit einem Passwort anmelden möchten.

  5. Deaktivieren Sie die Trennung von Berechtigungen, indem Sie Folgendes hinzufügen/ändern: UsePrivilegeSeparation no

  6. Sudo service ssh --full-restart

  7. Stellen Sie unter Windows mit einem ssh-Client wie PuTTY eine Verbindung zu Ihrem Linux-Subsystem her.

114
Master Azazel

Da die Windows-Implementierung kein Chroot bietet, müssen Sie die Datei/etc/ssh/sshd_config ändern

UsePrivilegeSeparation no

Außerdem müssen Sie einen Benutzer mit dem Befehl useradd oder so erstellen.

27
d1val

Die By-Committee-Antworten oben waren großartig. Danke für sie. Und während sie super nahe kamen, hatte ich immer noch Verbindungsabbau von 127.0.0.1 Probleme.

Ich fand und fügte zusätzliche Schritte von diesem Beitrag hinzu, die mich über den Buckel brachten. Insbesondere das erneute Beginnen und Hinzufügen als erster/erster Schritt (beachten Sie das --purge Qualifikationsmerkmal) löste schließlich meine Variation dieses Problems:

Sudo apt-get remove --purge openssh-server
Sudo apt-get install openssh-server
Sudo vi /etc/ssh/sshd_config # Change Port from 22 to 2222 (Just in case MS-Windows is using port 22; which, by the way, SSH on MS-Windows can be disabled if you want to use port 22).
Sudo service ssh --full-restart

Nochmals vielen Dank, ich hoffe, dieser Zusatz hilft anderen. = :)

21
NYCeyes

Ich habe alles getan, wie es Meister Azazel vorgeschlagen hatte und hatte das Problem. Als ich mich mit Port 22 verbunden habe, wurde ich nach einem Passwort gefragt, aber das Passwort, das ich im Linux-Subsystem festgelegt habe, funktionierte nicht.

Lösung 1:
Ändern Sie den SSH-Port in /etc/ssh/sshd_config und starten Sie den SSH-Server im Subsystem neu

Lösung 2:
Deaktivieren/Stoppen Sie die "SSH Server Broker Services" in der Systemsteuerung der Dienste von Windows und starten Sie den SSH-Server im Subsystem neu.

4
scotty86

Der Grund, warum Sie nicht dazu ssh können, wird in der Protokollierung vom Server gezeigt:

chroot ("/ var/run/sshd"): Funktion nicht implementiert

Auf dem Linux-Subsystem scheint chroot nicht implementiert zu sein, und der ssh-Server benötigt es, sodass die Verbindung nicht zulässig ist.

2
Sami Kuhmonen