Gesamtzahl der Seitenaufrufe

Mittwoch, 23. März 2011

debian SFTP-Server Einrichten

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 !

4 Kommentare:

  1. Hallo,

    die 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

    AntwortenLöschen
  2. Danke, hat geklappt (Debian Squeeze).

    AntwortenLöschen
  3. Vielen Dank für die tolle Anleitung - kurz, bündig und verständlich. Bei meinem Debian 6.0
    hat es geklapppt.

    AntwortenLöschen
  4. Danke für die Anleitung!

    AntwortenLöschen