- chalblog - http://blog.is-a-geek.org -

SFTP Dateiübertragung auf Windows Server 2008 mit CopSSH

SFTP Dateiübertragung auf Windows Server 2008 mit CopSSH [1]Ein normaler FTP-Dienst ist auf einem Windows Server 2008 relativ unkompliziert und schnell eingerichtet, sollte aber mangels Sicherheit in unserer Zeit nicht mehr verwendet werden. Da es sich bei FTP um ein unverschlüsseltes Protokoll handelt, können Passwörter, welche leider im Klartext gesendet werden von jedem ganz einfach abgegriffen werden. Ganz im Gegenteil dazu erfolgt bei SFTP der komplette Transfer verschlüsselt.

In diesem Tutorial verwende ich CopSSH, womit es auch auf anderen Windows Versionen möglich ist, einen SFTP-Dienst zur Verfügung zu stellen.

CopSSH Installation

Das neueste Installationspaket kann hier [2] heruntergeladen werden:
http://sourceforge.net/projects/sereds/files/Copssh/ [2]

Nach dem Entpacken öffnet ihr den Installer und verwendet bei jeder Abfrage, außer dem Passwort für den Serviceaccount (Bild 4) die Standardvorgabe.

SFTP auf Windows Server 2008 1 [3]

Bild 1

SFTP auf Windows Server 2008 2 [4]

Bild 2

SFTP auf Windows Server 2008 3 [5]

Bild 3

SFTP auf Windows Server 2008 4 [6]

Bild 4

SFTP auf Windows Server 2008 5 [7]

Bild 5

SFTP auf Windows Server 2008 6 [8]

Bild 6

 

Gruppe, Zugriffsrechte und User

CopSSH verwendet lokal vorhandene User, welche wir in diesem Abschnitt anlegen werden. Um nicht jedes Mal diverse Zugiffsrechte neu setzen zu müssen, erstellen wir für diese User eine GruppeSFTPUsers“. Dazu öffnet man eine “CMD” und führt folgenden Befehl aus:

net localgroup SFTPUsers /add

Dieser Gruppe verwehren wir anschließend den Zugang zum Laufwerk “C:” …

cacls c:\ /c /e /t /d SFTPUsers

… und erlauben den Zugriff auf das Installationsverzeichniss von CopSSH. “COPSSH-INSTALLDIR” sollte durch das Installationsverzeichnis von CopSSH ersetzt werden (Standard: C:\Program Files (X86)\ICW).

cacls COPSSH-INSTALLDIR /c /e /t /r SFTPUsers

User werden mit …

net user /add BENUTZER PASSWORT

… angelegt und mit dem folgenden Befehl zur Gruppe hinzugefügt:

net localgroup SFTPUsers BENUTZER /add

Bevor ihr weitermacht, solltet ihr mindestens einen Benutzer erstellt haben.

Firewall

Hat man die Windows Firewall aktiviert, muss man eine Ausnahme für den Port 22 hinzufügen. Kopiert einfach dieses Kommando in die “CMD” und führt es aus:

netsh advfirewall firewall add rule name = "SSH" dir = in action = allow protocol = TCP localport = 22

CopSSH Konfiguration

Nun aktivieren wir den vorhin erstellten User in CopSSH mit Hilfe des “CopSSH Control Panel“, welches unter Start>Programme zu finden ist (Bild 7). Zum Hinzufügen der User wechselt man auf die Karteikarte “Users” und klickt dort auf “Add” (Bild 9). Im Wizard wählt man den gewünschten Benutzer aus (Bild 11) und als “Access Type” verwenden wir “Sftp” (Bild 12), da dieser keinen Shell-Zugriff haben sollte.

SFTP auf Windows Server 2008 7 [9]

Bild 7

SFTP auf Windows Server 2008 8 [10]

Bild 8

SFTP auf Windows Server 2008 9 [11]

Bild 9

SFTP auf Windows Server 2008 10 [12]

Bild 10

SFTP auf Windows Server 2008 11 [13]

Bild 11

SFTP auf Windows Server 2008 12 [14]

Bild 12

Nach Fertigstellung des Wizards erscheint der User im “Activated Users” Feld (Bild 13) und man kann mit einem SFTP fähigen Client (z.B. FileZilla [15]) verbinden (Bild 14).

SFTP auf Windows Server 2008 13 [16]

Bild 13

SFTP auf Windows Server 2008 14 [17]

Bild 14

Damit der Server von außen erreichbar ist, muss das Port 22 am Router/Firewall weitergeleitet werden.

Verzeichnis ändern

Jeder User hat ein eigenes Verzeichnis im Home-Ordner. Das Standardverzeichnis eines Users kann man in der “passwd”-Datei ändern:

INSTALLDIR\etc\passwd

Hier ändert man “/home/USER” auf einen anderen Pfad. Die Verzeichnisangabe muss wie folgt aussehen (z.B. c:\sftp):

/cygdrive/c/sftp

Danach jedoch nicht vergessen für die SFTPUsers die benötigten Rechte auf diesen Ordner zu setzen.

cacls PFAD /c /e /t /r SFTPUsers

 

Viel Spaß mit der verschlüsselten Dateiübertragung!