SFTP - Tutorial

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    mein erstes Tutorial darum bitte mal ein Feedback ob es verständlich war.

    Einleitung:

    Viele von euch nutzen FTP und haben bestimmt, das aus meiner sich, gelungene Tutorial benutzt welches hier im Forum existiert.
    Leider muss man sagen das FTP ein unsicheres Werkzeug ist und man deshalb allen abraten sollte dies zu benutzen.
    Gerade dann wenn der eigene Server (Raspberry PI) zu Hause steht und noch ein Anfänger der Linux Welt ist.

    Um es kurz zu machen.
    Der FTP Dienst bietet Hackern sehr oft ein Hintertürchen sowie werden die Daten (auch Anmelde Daten) im Klartext übertragen.
    Im Endeffekt benötigt ihr nach dem Tutorial ein passendes FTP Programm.
    Ich bevorzuge Filezilla. Unter Server Manager kann man da das Raspberry einstellen.
    Protokoll wäre dann SFTP.
    Verbindungsart: Normal.
    (siehe unten)

    Tutorial:

    openssh-Server ist Voraussetzung.

    Code
    sudo apt-get install openssh-server

    SSH-Anpassen:

    Öffnet die ssh_config

    Code
    sudo vi /etc/ssh/sshd_config


    Sucht die Zeile:

    Code
    Subsystem sftp /usr/lib/openssh/sftp-server

    Kommentiert diese aus mit "#" vor der Zeile damit es dann so aussieht:

    Code
    # Subsystem sftp /usr/lib/openssh/sftp-server

    Anschließend schreibt ihr darunter oder darüber folgendes:

    Code
    Subsystem sftp internal-sftp

    Eigentlich Fertig. Nur noch einen passenden User anlegen.

    Code
    sudo adduser dummy

    User anpassen --> SFTP und kein SSH

    Code
    sudo usermod -s /bin/false dummy


    Nun nur noch SSH neustarten um alles auch amtlich zu machen

    Code
    sudo /etc/init.d/ssh restart

    Fertig einfach mal testen ob alles geklappt habt und freuen. An diesem punkt am besten auch gleich mal den FTP Server löschen.

    Mit freundlichen Grüßen

    Nachtrag:

    Danke an die freundliche Hinweise von ps915 sowie das folgende Bild welches einmal Filezilla zeigt mit den nötigen Einstellungen
    filezillat.png

    • Offizieller Beitrag

    Danke für das Tutorial. Gut, dass auch mal jemand an die Sicherheit denkt! ;) Es hat gut mit deiner Anleitung geklappt.
    Folgendes solltest du noch ändern:

    1. Als ersten Punkt würde ich den openssh-server noch dazu nehmen. Als Anfänger weiß man oft nicht welches Paket zu installieren ist.

    Code
    sudo apt-get install openssh-server

    2. Dann solltest du auch kurz den Umgang mit vi erklären. Ansonsten kannst du dich auch gerne an meiner Erklärung aus meinen Tutorials bedienen zum nano-Editor.

    Spoiler anzeigen
    Code
    sudo nano /etc/ssh/sshd_config


    Tipp Zu Nano:
    Um den Editor zu verlassen und Datei speichern, ist die Tastenkombination Strg + X zu drücken.
    Sollen die Änderungen zwischendurch gespeichert der Editor aber noch nicht verlassen werden, ist Strg + O zu drücken.

    3.

    Code
    sudo adduser dummy

    adduser zusammenschreiben

    4.

    Code
    sudo usermod -s /bin/false dummy

    sudo davor

    5.

    Code
    sudo /etc/init.d/ssh restart

    du hast bei restart das t vergessen

    Du könntest zum Beispiel zum Schluss noch dieses Bild anhängen.

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

    Einmal editiert, zuletzt von ps915 (29. November 2012 um 20:37)

  • Danke für das Tutorial.

    Hätte da auch mal paar Fragen bzw. Anregungen dazu.

    1. Beim öffnen der Textdatei, habe ich nano genommen. Finde ich persönlich einfacher in der Bedienung als vi.
    Aber vi mit nano zu ersetzen ist ja kein Problem :D

    2. Beim Erstellen des Users, im dem Fall dummy, könnte man da nicht auch den Standard User nehmen ? Also pi ?
    Habe jetzt unter Home 2 Benuter und das missfällt mir irgendwie.
    Ich fragte mich auch, warum man laut dem Tutorial nur denn Namen eingibt beim Erstellen, nicht das Passwort.
    Die Abfrage des Passwortes kommt aber während des Erstellungsprozesses. Könnte man eventuell als Erklärung angeben.
    Die ganze Zeit suchte ich nach der Möglichkeit das Passwort zu Erstellen und die Konzentration auf das Restliche Tutorial war dadurch geringer.

    3. sudo usermod -s /bin/false dummy
    sudo sorgt dafür, das man es als Admin bearbeiten kann. Usermod das die Berechtigung gesetzt wird. Aber was macht -s ? Was macht die Datei False ?

    4. Warum startet man ssh neu und nicht z.B. proftpd ?
    Dachte SSH ist die Terminal Oberfläche ?

    Wenn ich es jetzt hinbekomme das ich denn Standarduser PI verwenden kann. Wie bisher nur halt als SFTP, ist es Optimal.

    Ansich ist es jetzt aber Verschlüsselt bei mir. Danke für die Anleitung.

  • Hallo ElDiablo1985,

    Zitat

    2. Beim Erstellen des Users, im dem Fall dummy, könnte man da nicht auch den Standard User nehmen ? Also pi ?

    Warum einen Benutzer anlegen welcher bereits existiert? Schau dir mal die Manpage zu "adduser" an.

    Zitat

    Ich fragte mich auch, warum man laut dem Tutorial nur denn Namen eingibt beim Erstellen, nicht das Passwort.
    Die Abfrage des Passwortes kommt aber während des Erstellungsprozesses. Könnte man eventuell als Erklärung angeben.
    Die ganze Zeit suchte ich nach der Möglichkeit das Passwort zu Erstellen und die Konzentration auf das Restliche Tutorial war dadurch geringer.

    Das Passwort kann man auch mit "passwd" setzen.

    Zitat

    Aber was macht -s ? Was macht die Datei False ?

    Siehe Manpage zu "usermod" ;)
    -s gibt die Default-Shell für den Benutzer an und /bin/false ist dann sozusagen die Default-Shell.

    Zitat

    Warum startet man ssh neu und nicht z.B. proftpd ?

    Es geht hier um SSH File Transfer Protocol (SFTP) und nicht um FTP. Ich denke der ausgeschriebene Name dürfte bereits deine Frage beantworten.

    Zitat

    Dachte SSH ist die Terminal Oberfläche ?

    Das ist auch richtig. Aber der SSH-Daemon hat auch weitere Funktionen im Angebot.

    Zitat

    Wenn ich es jetzt hinbekomme das ich denn Standarduser PI verwenden kann. Wie bisher nur halt als SFTP, ist es Optimal.

    Schonmal versucht dich als Benutzer pi anzumelden? Vermutlich nicht.

    Gruß Georg

    Einmal editiert, zuletzt von boandlkramer (8. Juli 2013 um 19:05)

  • Hallo freakyy,

    wenn du mal auf das Datum schaust wann das Tutorial erstellt wurde sollte das deine Frage beantworten. Bei früheren Versionen von Raspbian war OpenSSH nicht standardmäßig konfiguriert. Daher musste man da selber Hand anlegen. Ich vermute mal, dass sich diese Anleitung auf die damals aktuelle Version bezieht und somit nicht zwangsläufig auch zur aktuellen Raspbian Version passen muss.

    Gruß Georg

  • Hi,

    vielen Dank für das Tutorial. Mich würde noch brennend interessieren, wie ich dem jeweiligen User auch einen bestimmten Pfad zuordnen bzw. auf diesen beschränken kann. So könnte ich mir z.B. für Arbeit einen anderen Zugang anlegen als für private Dinge.

    Wäre super, wenn das im Tutorial ergänzt werden könnte.

    Viele Grüße

  • Abgesehen davon, dass ich nicht so richtig einschätzen kann, ob Du weißt, was Du da tust, guckst Du mal lieber dort statt hier. Wenn Du denn wirklich dietPi nutzen willst. Soweit ich das noch in Erinnerung habe, gibt es über das Konfigurationsprogramm etliche Pakete leicht installierbar. Da braucht es keine Asbach Uralt (gibt’s das Gelumpe überhaupt noch?) Anleitung.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!