Übertragen Sie Dateien mit SFTP und Käfigen unter Debian und Ubuntu

!Hallo Freunde! Heute bringe ich Ihnen eine Alternative zur Verwendung eines FTP-Servers für die sichere Dateiübertragung. Schon der Kollege KZKG ^ Gaara hat eine basierend auf dem Paket gepostet Jailkit. Das, was wir entwickeln werden, basiert auf den Paketen, die wir mehr in unserem Repository zur Hand haben.
Wir werden sehen:

  • Eingabe erforderlich
  • Wie konfigurieren wir den Openssh-Server?
  • Wie erstellen wir Benutzer?
  • Wie ändern wir die Home-Verzeichnisse, damit der Käfig funktioniert?

Eingabe erforderlich
Oft müssen Dateien von Remotecomputern auf unseren Computer kopiert werden. Viele haben mich danach gefragt. Installiere ich ein FTP? Wie installiere ich ein SAMBA? Gehen wir vom Einfachen zum Komplexen. Warum sollten wir uns von Anfang an komplizieren, wenn wir das haben? OpenSSH-Server Eingerichtet ?. Und wenn wir es nicht haben, mit dem einfachen Befehl:

aptitude installiere openssh-server

Jetzt haben wir es! Und dann können wir Dateien sicher über das SFTP-Protokoll (Secure File Transfer Protocol) übertragen, das SSH (Secure Shell) zur Verschlüsselung verwendet.

Standardmäßig Benutzer mit der Berechtigung, eine Remotesitzung über zu starten ssh user @ my teamSie können fast alle in unserem System gespeicherten Dateien anzeigen, die möglicherweise nicht unseren Wünschen entsprechen oder die wir aus Sicherheitsgründen nicht zulassen sollten.

Dieser Artikel hilft uns bei der Konfiguration des OpenSSH-Server Damit sind die gewünschten Benutzer auf ihr persönliches Verzeichnis beschränkt / Heimanwender. Wir klären das, Mit dieser Methode können deklarierte Benutzer eine Remote-Sitzung nicht über eine SSH-Konsole oder über PuTTy starten. Sie können nur Dateien in oder aus ihrem persönlichen Verzeichnis auf unserem Computer oder Server übertragen.

Die hier beschriebene Methode gilt für Debian-Versionen 5 (Lenny) oder höher und für Ubuntu-Versionen 9.04 oder höher. Die SSH-Paketversion von Hardy oder Ubuntu 8.04 ist sehr veraltet und unterstützt die unten beschriebene Konfiguration nicht.

Wie konfigurieren wir den Openssh-Server?
Als Benutzer Wurzel Wir bearbeiten die Datei / etc / ssh / sshd_config mit jedem einfachen Texteditor. Wir empfehlen die Verwendung von nano im Konsolenmodus.

nano / etc / ssh / sshd_config

Wir möchten, dass folgende Zeile vorhanden ist:

Subsystem sftp

In Lenny und Squeeze gibt es:

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

Falls es nicht existiert, fügen wir am Ende der Datei hinzu:

Subsystem sftp intern-sftp

Wir fahren mit der Bearbeitung der Datei fort sshd_config und wir fügen am Ende hinzu:

Match group group-sftp ChrootDirectory% h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp

Wir speichern die Änderungen und starten den Dienst neu:

/etc/init.d/ssh Neustart

Wie erstellen wir Benutzer?
Zuerst erstellen wir die «Gruppe»Das erklären wir in der sshd_config. Seien Sie vorsichtig mit dem Namen, den wir zuvor gewählt haben. Es wird nicht sein, dass er bereits existiert und eine Gruppe ist, die zum System gehört. Wenn wir vorhandene Benutzer in unserem System nicht einschränken möchten, müssen wir neue Benutzer erstellen, damit diese Dateien übertragen können. Damit der Käfig funktioniert, müssen wir sie auch zu Mitgliedern der betreffenden Gruppe machen.

addgroup sftp-group adduser user1 adduser user2 [----] usermod -G sftp-group user1 usermod -G sftp-group user2

Um die Erstellung der Gruppe und der Benutzer zu überprüfen, haben wir folgende Möglichkeiten:

weniger / etc / Passwort weniger / etc / group ls -l / home

Und die Benutzer sollten erscheinen usuario1 y usuario2sowie die Gruppen group-sftp und diejenigen, die den erstellten Benutzern entsprechen. Auch beim Auflisten des Verzeichnisses / Homewerden die Home-Verzeichnisse jedes erstellten Benutzers angezeigt.

Wie ändern wir Home-Verzeichnisse, damit der Käfig effektiv funktioniert?
Wir müssen die Sicherheit der persönlichen Ordner jedes erstellten Benutzers erhöhen, damit er keine zusätzlichen Ordner in seinem persönlichen Verzeichnis und mit Schreibberechtigungen erstellen kann, wo wir wollen (nicht wo sie wollen) 🙂:

chown root: root / home / user1 / home / user2 chmod 755 / home / user1 / home / user2 cd / home / user1 mkdir dokumente html_public chown user1: user1 * cd / home / user2 mkdir dokumente html_public chown user2: user2 *

Benutzer, die zur Gruppe gehören group-sftpVon nun an können sie sich nur noch über SFTP mit ihren Namen und Passwörtern anmelden und Dateien in und aus den Verzeichnissen unter ihrem persönlichen Ordner übertragen, die von uns erstellt wurden. Den Rest können sie jedoch nicht sehen unser Dateisystem.

Für die Übertragung von Dateien und Ordnern können wir Nautilus, Konqueror, WinSCP, FileZilla und andere verwenden, die das SFTP-Protokoll unterstützen. Im Fall von Konqueror müssen wir verwenden fish: // user @ remotecomputer.

Wir hoffen, dass dieser Artikel für uns von praktischem Nutzen ist!
Bis zum nächsten Abenteuer, Freunde!

sftp_nautilus


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Hexborg sagte

    Guter Artikel. Ein sehr sicherer Weg, um Dateien zu teilen. Vielen Dank für die Erklärung. 🙂

  2.   Blitzkrieg sagte

    ausgezeichnet

  3.   Lolo sagte

    Und ist es nicht bequemer, sshfs zu verwenden?

    Für unser Team würde der Remote-Ordner als ein weiterer Ordner mit denselben Eigenschaften angezeigt.

  4.   Jacobo hidalgo sagte

    Hallo Federico, wie immer ausgezeichneter Artikel. Ich freue mich sehr, Ihre Beiträge jetzt aus dem Internet lesen zu können.
    Eine Umarmung,
    Jako

    1.    Dhunter sagte

      Wie wäre es mit Jacobo, kein Federico stimmt nicht direkt zu. Hey, wenn du nicht mehr Ubuntu zurückkommst, malst du menschliches Grün und volle offene Verwendung. Eine Umarmung. 😉

  5.   KZKG ^ Gaara sagte

    Sie leisten hervorragende Beiträge, machen Sie weiter so 😀

    1.    federico sagte

      Vielen Dank an tausend KZKG ^ Gaara und an JEDEN für Ihr Feedback

  6.   Jaenense sagte

    Kann ein Benutzer in einem anderen Ordner als / home / user /… .. eingesperrt werden?

    Was ich tun möchte, ist, einen Benutzer im Ordner / media / hdd / einzusperren…
    Ich muss es so machen, da der Server ein Raspberry Pi mit Raspbian ist und den Ordner / home /… / auf einer SD-Karte hat, der sich in kürzester Zeit füllen würde.

    Ich habe es auf verschiedene Arten versucht und das Ergebnis im Client ist immer «Broken Pipe» und das Ergebnis in einem schwerwiegenden Server: schlechter Besitz oder Modi für die Chroot-Verzeichniskomponente «/ media / HDD /»

    Vielen Dank an alle

    1.    federico sagte

      Ich denke, Sie müssen dem System mitteilen, dass der Home-Ordner dieses Benutzers / home / HDD ist, solange diese Partition ein natives Linux-Format hat, dh ext4; ext3; usw. Beispiel: Wenn der Benutzer jae ist - kurz -, müssen Sie Folgendes ausführen:

      : ~ # usermod –move-home –home / home / HDD jae

      Siehe auch den Mann usermod. Prost

  7.   Irving Hernandez sagte

    Ich habe ein Problem oder ich habe einen Dienst in Amazon mit einem öffentlichen Freund und ich muss über SFTP eingeben, um Dateien zu platzieren oder zu entfernen.
    Ich habe es schon einmal gemacht und alles ist in Ordnung, aber heute hat er mir etwas angetan, das mir nicht passiert war
    Innerhalb des Ami gibt es eine Reihe von Ordnern und einer von ihnen ist ein firmeneigenes Internetportal (Seite für meine Benutzer). Es stellt sich heraus, dass ich dort Werbeaktionen und Werbung für meine Benutzer mache und ständig Änderungen vornehme und sie über SFTP (mit Winscp) hochlade. Root-Berechtigungen und der Root-Pass
    Ich habe chmod 777 für Schreibberechtigungen gegeben und alles war gut gelaufen
    Aber heute, als ich das Web aktualisierte und die index.html und ihre anderen Dateien hochlud, gab es mir die Namen, aber es hat mir keine Bytes hinterlassen, das heißt Null (leer), jetzt sehen Sie nichts in meinem Web
    Ich habe die Sitzung geschlossen und erneut eingegeben, erneut Berechtigungen erteilt, den Benutzer gewechselt, aktualisiert, versucht, andere Dateien abzulegen, neue zu generieren, und es geschieht immer das Gleiche
    Es gibt mir die Dateien, aber sie haben keine Daten
    kann mir jemand helfen ???
    Ich würde mich sehr über Ihre Antworten freuen
    Zunächst einmal danke
    Atte
    Herr Irving Hernandez

  8.   FCC sagte

    Hallo, wie man Filezilla benutzt, ich habe bereits mehrere Modi gesehen und kann immer noch keine Verbindung herstellen.
    Es ist falsch.

  9.   pedro sagte

    Guten Tag,

    Führen Sie den Vorgang aus, und der Käfig funktioniert einwandfrei. Wenn Sie jedoch versuchen, in den Ordner «documents» oder «html_publico» zu schreiben, wird mir der Zugriff verweigert. Es hat die genannten Berechtigungen und nichts, was es erlaubt.

    drwxr-xr-x. 2 user1 user1 4096 Mar 11 13:16 docs
    drwxr-xr-x. 2 user2 user2 4096 11. März 13:16 html_publico

    Das Ergebnis ist, dass der Zugriff verweigert wird, wenn versucht wird, in einen Ordner zu schreiben. Das Ausführen eines Get erlaubt dies jedoch.

    Ich hoffe, Sie können mir so schnell wie möglich helfen.

    Grüße.