SFTP - Tutorial

  • 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
    [Blocked Image: http://img687.imageshack.us/img687/9914/filezillat.png]

    • Official Post

    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.


    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.

    Edited once, last by ps915 ().

  • 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,


    Quote

    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.


    Quote

    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.


    Quote

    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.


    Quote

    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.


    Quote

    Dachte SSH ist die Terminal Oberfläche ?


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


    Quote

    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

  • Hallo,


    unter Wheezy ist SFTP sowie SSH doch vorinstalliert, also warum das ganze?
    Trozdem, ist das Tutorial gut gelungen, danke!


    MfG,
    freakyy

    Edited once, last by freakyy ().

  • 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

  • Hallo zusammen,


    Ist der Beitrag noch aktuell un einen sftp Server einzurichten oder gibt es mittlerweile eine neuere Anleitung?

    Möchte meinen Raspbian von außen mit sftp zugänglich machen.


    Vielen Dank im Voraus

  • Hallo RTFM


    Vielen Dank für deine Antwort. Leider sagt mir wheezy nichts. Hab nur geselen dass es in raspbian installiert ist. Ich nutze aber diepti und würde da gerne sftp zum laufen bringen deswegen wollte ich wissen ob die Anleitung noch aktuell ist oder ob es eine aktuelle gibt. :)

  • 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.