Installing SFTP/SSH Server on Windows using OpenSSH
Die aktuellste Version des OpenSSH Packages kann aus dem Github Repo gedownloaded werden. Das Package wird dann in folgendes Verzeichnis entpackt, welches vorher noch erstellt werden muss: C:\Program Files (x86)\OpenSSH
Nun wird eine PowerShell-Konsole mit Administrator-Rechten geöffnet und das Installationsskript im OpenSSH Ordner ausgeführt:
PS: cd "C:\Program Files (x86)\OpenSSH"
PS: powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
Nach erfolgreicher Installation wurden zwei neue Services registriert, welche noch deaktiviert sind. Zusätzlich wurde eine SSH-Konfiguration erstellt, welche sich unter folgendem Pfad befindet und mit einem Texteditor geöffnet werden muss:
C:\ProgramData\ssh\sshd_config
Folgende Features werden nun hier konfiguriert:
Folgende Einstellungen sind in der Konfiguration abgeändert worden:
# Port und bindende IP Adresse des Host-PCs können hier angepasst werden
Port 12345
ListenAddress 192.168.210.123
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
# Nur Nutzer, welche der Gruppe "SFTP-Users" angehören, dürfen sich über SFTP mit dem Host-PC verbinden
AllowGroups SFTP-Users
# override default of no subsystems
Subsystem sftp sftp-server.exe
# Folgende Einstellungen sind für Administratoren vorgehalten:
Match Group administrators
AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
# Diese Einstellungen gelten für alle Benutzer der Gruppe "SFTP-Users"
Match Group SFTP-Users
ChrootDirectory E:\sftp\
X11Forwarding no
AllowTcpForwarding no
Über die Dienste-Konsole (Win+R, dann services.msc starten) müssen nun folgende Dienste gestartet, und auf Automatisch Starten festgelegt werden:
Über die Benutzer und Gruppen-Konsole (Win+R, dann lusrmgr.msc starten) muss nun unter der Kategorie Gruppen eine Gruppe mit dem Namen SFTP-Users angelegt werden. In dieser müssen sich dann auch alle Benutzer befinden, welche später Zugriff auf das SFTP haben sollen.
Jeder Nutzer erhält im Stammverzeichnis des SFTP-Servers (Hier E:\sftp
) einen eigenen Ordner. Dieser wird muss zusätzlich auch für den jeweiligen Benutzer freigegeben werden (Rechtsklick Freigeben für Bestimmte Personen Namen des Benutzers eintragen). Wichtig ist, das der Benutzer Lese- und Schreibrechte für den jeweiligen Order erhält.