Als Protokoll für die Dateiübertragung hat sich das File Transfer Protocol (FTP) als quasi-Standard positioniert. Dummerweise ist FTP völlig unverschlüsselt, es werden also alle Daten inkl. Benutzername und Kennwort im Klartext via Internet übertragen. Den Heimanwender mag das nicht stören, in gewissen geschäftlichen Szenarien ist aber eine verschlüsselte Übertragung angesagt.
Hierzu kommt immer gerne sFTP als Protokoll zum Einsatz, wobei das s im Namen in diesem Fall für sshFTP steht – nicht zu verwechseln mit SecureFTP oder SimpleFTP.
Implementiert wird diese Übertragung via OpenSSH, eine fertige Out-of-the-Box-Lösung gibt es bei itefix.no, diese nennt sich copSSH und lässt sich wunderbar z.B. auf einem Windows Server 2003 installieren. Das Transferieren von Dateien vom/zum Server erfolgt dann via Secure Copy Protocol (SCP), unter Windows können z.B. WinSCP und der FileZilla Client mit diesem Protokoll umgehen. Im Folgenden geht es um die Einrichtung des Systems.
Nach dem Download von copSSH klickt man sich mit den default-Einstellungen durch das Setup – und beachte die Meldung, die das Setup abschliesst.
copSSH Installation
copSSH Installation
copSSH arbeitet mit lokalen Windows-Benutzern, die über ein kleines Programm aktiviert werden können, doch dazu müssen erstmal Benutzer und Gruppen angelegt und das System gegen unbefugten Zugriff gesichert werden. All das erledigt man am besten direkt in der Console.
Zuerst erstellen wir eine neue Gruppe CopSSHUsers auf dem Windows Server:
net localgroup CopSSHUsers /add
Nun sperren wir den Zugriff dieser Gruppe auf Laufwerk C:\ und aktivieren dann den Zugriff auf das Installationsverzeichnis von copSSH (dort liegen die Homedirectories der CopSSHUser), wobei copssh-inst-dir natürlich durch den Installationspfad von copSSH zu ersetzen ist.
cacls c:\ /c /e /t /d CopsshUsers
cacls copssh-inst-dir /c /e /t /r CopsshUsers
Last but not least legen wir einen Benutzer an und fügen ihn der Gruppe CopSSHUsers hinzu, wobei Benutzer und Passwort natürlich zu ersetzen sind:
net user Benutzer Passwort /add
net localgroup CopSSHUsers Benutzer /add
Nun aktivieren wir den eben angelegten Benutzer -bei mir heißt er sFTP-Test- mit dem Hilfsprogramm, das sich im Startmenü unter CopSSH als „01. Activate a user“ versteckt.
copSSH Benutzer aktivieren
Da wir /bin/bash als Shell für diesen User gewählt haben, kann er sich nun (z.B. mittels Putty) via ssh direkt auf den Server verbinden und dort ein bisschen „herumschnüffeln“, für reine Datenübertragung wäre die Auswahl von /bin/sftponly besser gewesen; /bin/false öffnet ebenfalls keine Shell.
Zugriff per Putty
Auch der Zugriff via WinSCP funktioniert damit bereits, die Übertragung der Daten findet also verschlüsselt statt.
Zugriff per WinSCP
Die Installation und Erstkonfiguration von copSSH ist damit abgeschlossen. Da die weiteren Features von copSSH den Rahmen hier doch etwas sprengen würden, werde ich demnächst einen Teil 2 zu diesem Artikel veröffentlichen, der sich dann u.a. mit der passwortlosen Authentifizierung mittels Pulic Key beschäftigen wird.
http://faq-o-matic.net/?p=1039