(Chrooted) SFTP mit MySecureShell

Eine feine Möglichkeit auf einem Linux-Server SFTP-User anzulegen bietet das Tool MySecureShell. Nach der Installation und dem Anpassen einiger Parameter in der Config können neue SFTP-User einfach mit useradd über die Shell angelegt werden. Diese User sind dann im angegeben Home-Verzeichniss eingesperrt und haben keinen Shell-Zugriff.

Auf einem Debian-Etch System erfolgt die Installation wie folgt:

wget wget http://ovh.dl.sourceforge.net/sourceforge/mysecureshell/mysecureshell_[versionsnummer]_i386.deb
dpkg -i mysecureshell_[versionsnummer]_i386.deb

Die Config-Datei ist sehr gut dokumentiert und funktioniert eigentlich sofort. Ich habe meine allerdings noch etwas angepasst:

Config-File im Editor öffnen:

nano /etc/ssh/sftp_config

und ein paar Parameter anpassen:

# Keine Speedlimits fuer SFTP
GlobalDownload		0
GlobalUpload			0
Download 			0
Upload 			0

# FTP-User im Home-Dir einsperren:
StayAtHome		true
VirtualChroot	true

#Gleichzeitige Verbindungen pro User etwas erhöhen
LimitConnection		10
LimitConnectionByUser	3
LimitConnectionByIP		3

# Wir wollen nicht das gleiche Home-Verzeichnis für alle User, daher wird diese Zeile auskommentiert:
#Home	/home/$USER

# Standard Dateirechte nach Bedarf anpassen:
DefaultRights		0664 0755

MySecureShell neu starten:

/etc/init.d/mysecureshell restart

Nun kann man z.b. einen User anlegen der per SFTP nur auf einen bestimmten Ordner im Web-Verzeichniss zugreifen kann:

useradd -d /var/www/ein_projekt -g www-data -s /bin/MySecureShell marvin

Eine weiteres ausführliches Tutorial zu MySecureShell findet sich unter anderem bei HowtoForge

One thought on “(Chrooted) SFTP mit MySecureShell

Leave a Reply

Your email address will not be published. Required fields are marked *

π