Eine Anleitung um einen kostenlosen SFTP Server auf Ubuntu einzurichten:
Da ich es leid war meine Dateien unverschlüsselt übers Netz zu schicken habe ich mich mal mit SFTP beschäftigt. Mit dieser Anleitung ist ein kleiner kostenloser SFTP Server auf Ubuntu möglich und sollte für normale Tätigkeiten ausreichend sein.
Als erstes Synaptic aufrufen und dort nach dem openssh-server suchen um ihn zu installieren (falls noch nicht geschehen)
openssh-server
Auswählen und installieren.
Dann kanns mit dem Einrichtung losgehen. Es muss die sshd_config Datei verändert werden. Ich nutze dafür gedit.
sudo gedit /etc/ssh/sshd_config
Diese Zeile bei Subsystem hinzügen und die andere auskommentieren.
Subsystem sftp internal-sftp
#Subsystem sftp /usr/lib/openssh/sftp-server
User und Verzeichnisse anlegen:
(Der username ist hier im Beispiel maria)
sudo mkdir /home/maria
sudo useradd maria
Hier werden die Zugriffsrechte vergeben.
(We’ll have to set their home directory permissions appropriately. It’s important that root owns this and that its group ID is identical to the username, and that the permissions are set so that only root can write:)
sudo chown root:maria /home/maria
sudo chmod 755 /home/maria
sudo usermod -d /home/maria maria
Jetzt noch das Passwort vergeben
sudo passwd maria
dann das gewünschte Passwort eingeben.
(Set the new user a dummy shell – so they don’t have real shell access)
sudo usermod -s /bin/false maria
Jetzt müssen wir noch festlegen das der angelegte User auch nur Zugriff auf sein Home Verzeichnis hat. Dafür müssen wir nochmal die Datei /etc/ssh/sshd_config bearbeiten.
sudo gedit /etc/ssh/sshd_config
Dort ganz unten am Ende der date folgendes anfügen.
Match User maria
ChrootDirectory /home/maria
ForceCommand internal-sftp
Wenn mehrere User angelegt werden, dann werden jeweils nur diese 3 Zeilen mit dem jeweiligen Usernamen angefügt (also maria mit dem neuen usernamen ersetzen).
Der User maria hat im Moment nur Lesezugriff, hier erstellen wir ein Verzeichnis zum upload (Lese und Schreibzugriff)
sudo mkdir /home/maria/upload
sudo chown maria:maria /home/maria/upload
sudo chmod 755 /home/maria/upload
Jetzt noch ssh neustarten um die Änderungen zu übernehmen und fertig.
sudo /etc/init.d/ssh restart
Wenn man sich z.B. mit Filezilla dort anmelden will muss man folgendes machen:
Server: Ip Adresse eingeben (z.B. 127.0.0.1)
Port: (freilassen, da durch Servertyp Port 22 festgelegt wird)
Servertyp: SFTP auswählen
Verbindungsart: Normal
Benutzer: (ihrem Usernamen einsetzen)
Passwort: (ihr Passwort eingeben)
Dann auf verbinden und es müsste gehen.
Alle Angaben ohne Gewähr !
Hallo,
AntwortenLöschendie Anleitung ist sehr gut und super hilfreich.
Wie kann ich denn einem User (in diesem Beispiel Maria) vorschreiben, dass er abgesehen vom /home Ordner nichts darf? Also im /home Ordner sollen volle Rechte gelten und alle anderen Verzeichnisse sollen erst gar nicht angezeigt werden. Vielen Dank schonaml.
LG Master
Danke, hat geklappt (Debian Squeeze).
AntwortenLöschenVielen Dank für die tolle Anleitung - kurz, bündig und verständlich. Bei meinem Debian 6.0
AntwortenLöschenhat es geklapppt.
Danke für die Anleitung!
AntwortenLöschen