SFTP auf Microsoft IIS korrekt einrichten

Institut für digitale Herausforderungen October 14, 2015
Source

Das Einrichten eines SFTP-Servers klingt einfach, ist es aber nicht. Es gibt mindestens drei Probleme, denen du begegnen wirst:

  1. Ungültiges Server-Zertifikat: Die Verbindung zum Server schlägt fehl, weil das Server-Zertifikat ungültig ist. Die Fehlermeldung in FileZilla lautet dann z. B.:
    GnuTLS error -48: Key usage violation in certificate has been detected. Could not connect to server.
  2. Probleme mit passiven Verbindungen: Obwohl du in der Firewall die passiven Ports für den Server freigeschaltet hast, kann die Verbindung nicht vollendet werden. FileZilla bleibt dann z. B. bei der folgenden Zeile stehen:
    150 Opening BINARY mode data connection.
  3. Fehlende Zugriffsrechte: Der Benutzer hat nicht die nötigen Zugriffsrechte für den Ordner, den du in den Einstellungen des FTP-Servers angegeben hast.

Keine Sorge. Mit diesen drei Problemen durfte auch ich schon kämpfen, und ich habe die Lösungen hier zusammengetragen. Also… eins nach dem anderen.

Problem 1: Ungültiges Server-Zertifikat

Die Ursache des ersten Problems ist der Assistent, mit dem man im IIS das Server-Zertifikat erstellt. Auf den Punkt gebracht, nutzt dieser ein paar falsche Parameter. Aus diesem Grund muss das Zertifikat per Hand in der PowerShell erstellt werden. Wichtig: In der normalen Konsole funktioniert das nicht.

Lösung: Laut einem Beitrag in den IIS-Foren kannst du das Zertifikat mit PowerShell generieren:

New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\My -dnsname ftp.example.com

Ersetze ftp.example.com durch den Hostnamen deines Servers.

Du erhältst einen Fingerabdruck (Fingerprint). Kopiere diesen und setze ein Passwort für den privaten Schlüssel:

$password = ConvertTo-SecureString -String "password goes here" -Force -AsPlainText

Exportiere das Zertifikat (ändere C:\cert.pfx auf den gewünschten Speicherort, die Datei muss mit .pfx enden):

Export-PfxCertificate -cert cert:\LocalMachine\My\FINGERPRINT -FilePath C:\cert.pfx -Password $password

Problem 2: Passive Ports und Firewall

Stelle sicher, dass die passiven Ports in der Firewall freigegeben sind. Dies geschieht in den IIS-Einstellungen unter FTP-Firewall-Unterstützung. Trage dort den Portbereich ein, den du verwenden möchtest, und öffne diese Ports in der Windows-Firewall.

Problem 3: Benutzerberechtigungen

Überprüfe, ob der Benutzer die richtigen Berechtigungen für den angegebenen Ordner hat. Dies kannst du in den Sicherheitseinstellungen des Ordners anpassen.

Weitere Ressourcen:

Discussion in the ATmosphere

Loading comments...