Skip to Content

Windwos Server als sftp-server

Windows Server 2022 Datacenter als SFTP-Server einrichten

In dieser Anleitung erfährst du Schritt für Schritt, wie du deinen Windows Server 2022 Datacenter in einen sicheren SFTP-Server verwandelst – komplett ohne zusätzliche Software.

1. OpenSSH-Server installieren

Öffne die PowerShell als Administrator und führe folgenden Befehl aus:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Windows verwendet diese Versionsnummer, um exakt zu wissen, welche Variante des Features installiert werden soll. Das ist vor allem dann wichtig, wenn es mehrere Versionen gibt oder du gezielt eine bestimmte Version benötigst (z.B. für Kompatibilität oder Tests).

In der Praxis reicht es aber meistens, nur ‎`OpenSSH.Server` anzugeben, dann nimmt Windows die aktuell verfügbare Version. Die explizite Angabe ist eher für spezielle Fälle oder automatisierte Installationen relevant.


Überprüfe die Installation:

Get-WindowsCapability -Online | where Name -like 'OpenSSH*'

2. OpenSSH-Server starten und auf Automatik stellen

Starte den Dienst und setze den Starttyp auf „Automatisch":

Get-Service -Name "sshd" | Set-Service -StartupType "Automatic"
Start-Service sshd

3. Firewall-Regel für Port 22 prüfen

Prüfe, ob die Firewall-Regel aktiv ist:

Get-NetFirewallRule -Name *ssh*



Falls nötig, aktiviere die Regel:

Set-NetFirewallRule -Name OpenSSH-Server-In-TCP -Enabled True -Profile Domain

4. Benutzer und Verzeichnisse konfigurieren

Standardmäßig landen SFTP-Nutzer im eigenen Benutzerordner. Für ein zentrales Verzeichnis passe die Datei C:\ProgramData\ssh\sshd_config an:

  • Öffne die Datei mit einem Editor als Administrator
  • Entferne das Kommentarzeichen vor ChrootDirectory und setze deinen gewünschten Pfad, z. B.:
ChrootDirectory "C:\sftp"
  • Erstelle das Verzeichnis und weise die korrekten Berechtigungen zu
  • Erstelle einen Benutzer, optional mit einem sicherem Passwort
New-LocalUser -Name "bla" -Password (Read-Host -AsSecureString "HelloWorld" )

5. Berechtigungen setzen

Stelle sicher, dass der Benutzer bzw. die Gruppe Zugriff auf das Verzeichnis hat. Passe die NTFS-Berechtigungen entsprechend an.

Beispiel für Verzeichniserstellung und Berechtigungen:

# Verzeichnis erstellen
New-Item -Path "C:\sftp" -ItemType Directory -Force

# Berechtigungen setzen (Beispiel für spezifischen Benutzer)
icacls "C:\sftp" /grant "DOMAIN\Username:(OI)(CI)F"

⚠️ Für lokalen User nutze:

S icacls "C:\sftp" /grant "bla:(OI)(CI)F"



6. SFTP-Server testen

Verbinde dich mit einem SFTP-Client wie WinSCP oder FileZilla:

  • Host: Servername oder IP-Adresse
  • Port: 22
  • Benutzername & Passwort: Windows-Anmeldedaten

Kommandozeilen-Test mit sftp-Client:

sftp username@server-ip

Zusätzliche Konfigurationsoptionen

SSH-Schlüssel-Authentifizierung aktivieren (Optional)

Für erhöhte Sicherheit kannst du SSH-Schlüssel verwenden:

# Authorized Keys Datei erstellen
New-Item -Path "C:\Users\Username\.ssh\authorized_keys" -ItemType File -Force

Logging aktivieren

Füge folgende Zeilen in die sshd_config ein:

SyslogFacility LOCAL0
LogLevel INFO

Service neu starten

Nach Änderungen an der Konfiguration:

Restart-Service sshd

Troubleshooting

Häufige Probleme und Lösungen

Problem: Verbindung wird verweigert

# Prüfe ob Service läuft
Get-Service sshd

# Prüfe Firewall
Get-NetFirewallRule -DisplayName "*SSH*"

Problem: Authentifizierung schlägt fehl

  • Überprüfe Windows-Anmeldedaten
  • Prüfe NTFS-Berechtigungen auf dem SFTP-Verzeichnis

Problem: Konfiguration wird nicht übernommen

# Syntax der Konfigurationsdatei prüfen
sshd -t -f C:\ProgramData\ssh\sshd_config

Fazit

Mit diesen Schritten hast du einen sicheren SFTP-Server auf Basis von Windows Server 2022 Datacenter eingerichtet. Die Lösung ist schlank, sicher und flexibel anpassbar.

Viel Erfolg beim Einrichten!


Quellen: