Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:opensshinwindows10

Installation eines OpenSSH Server auf dem Linux Subsystem in Windows 10

weiterführende Links:

Probleme bei der Installation

Lange Zugriffsdauer bei ssh-Verbindung

Die ersten Versuche mit ssh auf dem Linux Subsystem ergaben lange Laufzeiten, bis eine Verbindung zustande kam. Die Ursache war hierbei nicht das Linux Subsystem, sondern gleiche Hostnamen mit verschiedenen IP-Adressen in der FritzBox. Der Grund hierfür waren die Nutzung von W-LAN und Kabel-LAN auf dem gleichen Gerät. Als Folge davon zeigte das reverse lookup des DNS auf die falsche IP-Adresse und der Verbindungsaufbau dauerte 10 Sekunden.

ssh Broker und ssh Proxy

noch zu untersuchen, woher die Server stammen und was sie sollen….

Installation und Konfiguration von OpenSSH

Softwareinstallation OpenSSH Server

Die Installation des OpenSSH Server geht in der bash wie üblich:

$ sudo apt install openssh-server

Allerdings stellte sich heraus, dass dieses Paket bereits installiert war. Trotzdem existierten keine Server Zertifikate, weshalb eine Rekonfiguration erforderlich war.

$ sudo dpkg-reconfigure openssh-server

Konfiguration des OpenSSH Server

Der SSH Server braucht einige spezielle Einstellungen um genutzt zu werden. Hierfür muss die Datei /etc/ssh/sshd_config editiert werden.

  • Port 22 ist durch einen internen ssh-Proxy blockiert, daher muss ein alternativer Port verwendet werden, z. B. Port 60022.
Dieser interne SSH Server auf Port 22 läuft perfekt als Windows Dienst, hat allerdings keinen Zugang zum Linux-Subsystem und daher auch kein rsync für die Synchronisation - es handelt sich um einen sehr experimentellen Status der auch kontrovers diskutiert wird. Trotzdem kann der SSH Server ggf. verwendet werden, denn sftp wird unterstützt. Um Zugang zu erhalten, muss der Windows User in Computerverwaltung → Lokale Benutzer und Gruppen → Gruppen der Gruppe Ssh Users hinzugefügt werden.
  • Das Linux Subsystem kennt kein chroot, daher muss die Rechte Unterscheidung abgeschaltet werden: UsePrivilegeSeparation no
  • root Zugang verhindern durch PermitRootLogin no.
  • Berechtigte Nutzer eintragen durch AllowUsers <user>.
  • Solange keine Benutzerzertifikate ausgetauscht sind muss PasswordAuthentication yes gesetzt sein. Aus Sicherheitsgründen sollte das allerdings durch Benutzerzertifikate ersetzt werden, denn der SSH-Server besitzt keine Dateirechte!
  • Benutzerzertifikaten werden Ubuntu üblich unter /home/<nutzer>/.ssh abgelegt.
  • Der ssh-Service muss mit sudo service ssh –full-restart neu gestartet werden. Leider ist dieser Start immer notwendig, wenn der Server laufen soll. Es handelt sich nicht um einen Windows Dienst!

Nach diesen Maßnahmen kann auf der Rechner per ssh zugegriffen werden.

$ ssh -p 60022 10.0.1.208
...
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.4.0+ x86_64)
...

Firewall Regel

Der neue SSH Server Port 60022 wird durch die Windows Firewall gesperrt.

Daher muss eine neue Eingehende Regel in Systemsteuerung → System und Sicherheit → Windows Firewall → Erweiterte Einstellungen erzeugt werden, die den lokalen Port 60022 für TCP freigibt.

projects/opensshinwindows10.txt · Zuletzt geändert: 2016-11-02 18:40 von andreas