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

Ich habe Windows 10 Anniversary Edition mit" Bash unter Ubuntu unter Windows " installiert und funktioniert. Ich möchte in der Lage sein, in diese Ubuntu-Instanz zu SSH, aber obwohl ich openssh-Server installiert und konfiguriert habe (und Port 2200 abhöre), wenn ich versuche, auf "localhost:2200" zu ssh, sagt es mir "Server unerwartet geschlossene Netzwerkverbindung".

Konnte jemand dies erfolgreich erreichen?

geben Sie hier die Bildbeschreibung ein

Author: magicandre1981, 2016-08-09

5 answers

Ich habe es zum Laufen gebracht; hier ist, wie.

Ssh-Server deinstalliert, neu installiert und mit{[11] gestartet]}

sudo service ssh --full-restart

Stellen Sie sicher, dass Sie den Root-Zugriff deaktiviert und einen anderen Benutzer in die Konfigurationsdatei aufgenommen haben.

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

Hier ist ein screenshot.

  1. sudo apt-get purge openssh-server
  2. sudo apt-get install openssh-server
  3. sudo nano /etc/ssh/sshd_config und verbieten root Login durch die Einstellung PermitRootLogin no
  4. Dann fĂĽge eine Zeile darunter hinzu es, das sagt:

    AllowUsers yourusername

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

  5. Deaktivieren Sie die Privilegentrennung durch HinzufĂĽgen/Ă„ndern : UsePrivilegeSeparation no

  6. sudo service ssh --full-restart

  7. Stellen Sie unter Windows eine Verbindung zu Ihrem Linux-Subsystem her, indem Sie einen SSH-Client wie PuTTY verwenden.

 141
Author: Master Azazel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-11-06 14:16:16

Die obigen Antworten kamen nahe, aber ich hatte immer noch ein Problem mit Connection closed by 127.0.0.1.

Also von vorne anfangen und die Option --purge beim Entfernen des Pakets sshd (wie ich unten demonstriere), löste meine Variation dieses Problems:

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.

Ich hoffe, das hilft. \(◠﹏◠)/

 38
Author: NYCeyes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-22 01:38:49

Da die Windows-Implementierung keine chroot bereitstellt, mĂĽssen Sie die /etc/ssh/sshd_config

UsePrivilegeSeparation no

AuĂźerdem mĂĽssen Sie einen Benutzer mit dem Befehl useradd erstellen.

 27
Author: d1val,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-08-09 20:45:01

Ich habe alles getan, was Meister Azazel vorgeschlagen hat und hatte das Problem. Als ich mich mit Port 22 verband, wurde ich nach einem Passwort gefragt, aber das Passwort, das ich im Linux-Subsystem festgelegt habe, hat nicht funktioniert.

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 von Windows und starten Sie den SSH-Server im Subsystem neu.

 5
Author: scotty86,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-11-19 09:08:12

Der Grund, warum Sie keine SSH-Verbindung herstellen können, wird in der Protokollierung vom Server angezeigt:

Chroot("/var/run/sshd"): Funktion nicht implementiert [preauth]

Das Linux-Subsystem scheint chroot nicht implementiert zu haben und der SSH-Server benötigt es, damit die Verbindung nicht zulässig ist.

 2
Author: Sami Kuhmonen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-08-09 16:46:49