Skip to content

SFTP Server Bitvise installieren und einrichten

Was ist FTP, SFTP und FTPS?

FTP steht für File Transfer Protocol, eines der Protokolle die bereits seit den Ursprüngen des Internet bestehen, parallel zum bekannteren Hypertext Transfer Protocol HTTP. Wie der Name bereits suggeriert, ist der Zweck des FTP die Übertragung von Dateien. FTP in seiner ursprünglichen Form wurde 1985 spezifiziert, und überträgt Daten im Klartext, ohne Verschlüsselung. Heute gibt es Alternativen mit Verschlüsselung:

Obwohl sich die Abkürzungen zum Verwechseln ähneln (FTPS vs. SFTP), handelt es sich um grundlegend unterschiedliche Protokolle.

FTP über TLS (FTPS) ist eine Weiterentwicklung des ursprünglichen FTP. Hier wird eine TLS verschlüsselte Verbindung aufgebaut, und darin über FTP kommuniziert.

SSH File Transfer Protocol (SFTP) ist eine Weiterentwicklung des SSH Protokolls, welches mit dem ursprünglichen FTP nichts zu tun hat. SSH wurde zum Austauschen von Befehlen entwickelt, und später wurde die Möglichkeit des Datentransfers hinzugefügt.

Beide Protokolle bieten die Möglichkeit der verschlüsselten Übertragung. SSH ist grundsätzlich verschlüsselt, und FTP über TLS muss am Server richtig konfiguriert werden, um unverschlüsselte Verbindungen zu unterbinden. SSH benötigt einen Port, FTP über TLS benötigt zwei Ports. In beiden Fällen müssen Router und Firewalls konfiguriert werden, um einen dahinter liegenden Server ansprechen zu können. Ein ausführlicher Vergleich der beiden Methoden findet sich hier: SFTP vs. FTPS Comparison, und weitere Vergleiche lassen sich leicht recherchieren.

Einen Server betreiben

Ein für private Zwecke kostenfreier SFTP Server ist der Bitvise SSH Server. Der Server punktet durch relativ einfache Installation und Nutzerverwaltung, sowie die Möglichkeit, optional sehr viele zusätzliche Einstellungen vorzunehmen. Hier steht, wie man ihn installiert und einrichtet.

1.: Bitvise SSH Server herunterladen.

Hier geht es zur Download Seite des Bitvise SSH Server.

Die soeben heruntergeladene Datei führe ich aus und folge der Installationsroutine.

Ich bestätige, dass das Programm, signiert von Bitvise limited, Änderungen am Rechner vornehmen darf. Das Installationsverzeichnis ändere ich nicht, da ansonsten eine Fehlermeldung erscheint.

Ich wähle die “Personal Edition”. 10 Accounts und 15 parallele Verbindungen sind für mich mehr als ausreichend.

 

Ein Name muss eingetragen werden. Nun gut.

Ein Neustart wird empfohlen. Diesen führe ich aus. Danach starte ich das Bitvise SSH Server Control Panel.

2. Bitvise SSH Server einrichten

Der Server ist bereits gestartet und in Grundzügen konfiguriert. Ich drücke auf “Open easy settings”.

Im ersten Reiter, Server Settings, wähle ich Port 4444. Mit dem Standard Port 22 habe ich keine Verbindung herstellen können. Viermal Vier, das kann ich mir gut merken.

Unter “Open Windows Firewall” wähle ich “Open port(s) to any computer”. Nur so wird der Server für Anfragen aus dem Internet geöffnet. Ansonsten wird er nur aus dem lokalen Netzwerk ansprechbar, und das ist nicht mein Ziel.

Da ich den Zugriff zum Server ausschließlich für Benutzer öffnen möchte, die ich hier von Hand eintrage, wähle ich unter “Password authentication: Permit for virtual accounts only”.

Man kann an dieser Stelle speichern, und “Easy Settings” erneut öffnen. Oder man wechselt direkt in den Reiter “Virtual accounts”.

Die Benutzerkonten muss man anlegen mit dem Knopf “Add”.

Ich wähle also einen Benutzernamen (im Beispiel: “test”), und wähle ein Passwort (dafür öffnet sich ein separates Fenster). Weiterhin erlaube ich den Login, erlaube den Datentransfer, verbiete Shell Access, und begrenze den Datenzugang auf einen Ordner. Den Ordner wähle ich unter “Root directory” aus. Den gewünschten Ordner kann man vorher mit Windows Explorer anlegen. Nachdem der Ordner gewählt ist, drücke ich OK.

Wie man hier sehen kann, ist auch ein Zugang mit Public Keys möglich. Wer mit Schlüsseldateien arbeiten möchte, kann hier die entsprechenden Schlüssel hinterlegen. Das habe ich noch nicht mit diesem Programm getestet. Schlüssel können nicht aus der Maske generiert werden, sondern man muss sie sich anderweitig besorgen, zum Beispiel mit PuTTY – dies wird an anderer Stelle erläutert.

In diesem Beispiel habe ich einen Test-Benutzer mit Namen und Passwort erstellt, und das Verzeichnis festgelegt.

Der neue Benutzer muss noch mit “Save changes” bestätigt werden. Sonst wird der gesamte Eintrag verworfen. Also speichere ich. Damit ist der Server fertig für eine verschlüsselte Datenübertragung konfiguriert.

3.: Port Forwarding und Firewall

Nun muss der Router noch die Info bekommen, dass er bestimmte Anfragen an diesen Server weiterleiten soll. Nämlich solche, die auf Port 4444 eingehen, in diesem Beispiel. Die passende Einstellung heißt Port Forwarding, oder Portfreigabe, oder Port Mapping, je nach hersteller des Routers und Systemsprache.

Dazu muss man sich in die Verwaltung des Routers einloggen. Jeder Router ist anders, das macht eine allgemeine Anleitung schwer zu erstellen.

Für eine Fritz!Box 7590 öffnet man die Benutzeroberfläche, und wählt im Menü „Internet / Freigaben / Portfreigaben“.

Für eine Vodafone EasyBox öffnet man die Benutzeroberfläche, und wählt zuerst oben den Experten-Modus. Dann wählt man im Menü “Internet / Port-Mapping”.

Ist man im passenden Menü angekommen, fügt man neue Port-Freigaben hinzu. Die notwendigen Daten dafür sind die IP Adresse, das Protokoll und die Ports.

Ich möchte Port 4444 weiterleiten, für TCP und UDP. Dazu sind ggfs. zwei getrennte Regeln notwendig. In der Vodafone Easy-Box sieht das Ergebnis anschließend so aus:

Wie findet man die lokale IP Adresse heraus?

Windows-Taste + R drücken

CMD eintragen und OK drücken. Die Konsole öffnet sich.

Hier den Befehl “ipconfig” eingragen und Enter drücken.

Hier steht sie, die lokale IP Adresse des eigenen Rechners.

Um zu verhindern, dass der Router die IP Adresse des eigenen Rechners verändert, ist es empfehlenswert, diese im Router fest zu vergeben. Das ist wieder etwas, was in jedem Router anders funktioniert.

In einer Fritz!Box 7590 kann man einstellen, dass sie immer die gleiche IPv4-Adresse zuweist. Diese Option kann man unter „Heimnetz / Netzwerk / Netzwerkverbindungen“ in den Detaileinstellungen der Netzwerkgeräte aktivieren.

In einer Vodafone EasyBox befindet sich diese Einstellung im Expertenmodus unter “Einstellungen / IPv4 / Statisches DHCP Heimnetzwerk”.

Hinweis: Wenn ein Rechner mehrere Netzwerkkarten hat, z.B. kabelgebunden und WiFi, dann hat er wahrscheinlich auch mehrere lokale IP Adressen! Nämlich eine für jede Netzwerkkarte. Denn die IP Adresse wird pro MAC Adresse vergeben, und jede Netzwerkkarte hat eine individuelle MAC Adresse. Wenn man das Port Forwarding im WiFi einrichtet, und dann das Kabel einsteckt, funktioniert das Port Fowarding nicht mehr! Der Rechner hat plötzlich eine andere IP Adresse. Also wichtig: Immer dieselbe Netzwerkkarte benutzen, d.h. entweder immer mit Kabel, oder immer ohne Kabel.

Sobald das Port Forwarding eingestellt ist, weiß der Router, dass er Anfragen über die betreffenden Ports an das richtige Gerät im Netzwerk weiterleitet.

Die Firewall wird vom Server selbst konfiguriert. Hier ist kein Eingriff von Hand nötig. Dafür gibt es in “Easy Settings” den Punkt “Open Firewall”.

10.: Test

Jetzt ist alles eingerichtet. Der Benutzer benötigt

  • Server Adresse
  • Port
  • Benutzername
  • Passwort

Liegt dies vor, kann ein SFTP Client mit diesen Daten eingerichtet werden.

Der FileZilla Client kann auch SFTP Verbindungen aufbauen. Es wird wie folgt eingestellt.

Der Site Manager wird geöffnet und wie folgt gefüllt:

Protocol: SFTP

Host: Die Adresse des Servers, das kann eine URL sein wie z.B. die Adresse von MyFritz, es kann auch eine IP Adresse sein. Wichtig ist der Port, in diesem Beispiel 4444.

Logon: Normal.

Benutzername und Passwort wie in der Einstellung des Server Managers eingestellt.

Dann wird “Connect” gedrückt.

Wenn alles passt, klappt die Anmeldung!

Im Log des Servers wird die erfolgte Anmeldung berichtet.

Fertig, alles klappt!