Inhaltsverzeichnis
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.