SSH für viele Benutzer zu einem Home

SSH für viele Benutzer zu einem Home

Ich möchte einigen vertrauenswürdigen Benutzern erlauben, Dateien per SCP auf meinen Server zu übertragen (an einen bestimmten Benutzer), aber ich möchte diesen Benutzern weder ein Zuhause noch eine SSH-Anmeldung geben.

Ich habe Probleme, die richtigen Benutzer-/Gruppeneinstellungen zu verstehen, die ich erstellen muss, damit dies möglich ist.

Ich werde ein Beispiel geben;

Haben:

  1. MyUser@MyServer
  2. MyUsergehört zur GruppeMyGroup
  3. Die Startseite von MyUser wird beispielsweise sein:/home/MyUser
  4. SFTPGuy1@OtherBox1
  5. SFTPGuy2@OtherBox2

Sie geben mir ihre id_dsa.pub's und ich füge sie zu meinem hinzuauthorized_keys

Ich denke, ich würde dann auf meinem Server so etwas machen wie

useradd -d /home/MyUser -s /bin/false SFTPGuy1(und das gleiche gilt für die anderen..)

Und zum Schluss useradd -G MyGroup SFTPGuy1(und dann noch mal für den anderen)

sftp -o IdentityFile=id_dsa MyServerIch würde dann erwarten, dass die SFTPGuys zur Startseite von MyUser weitergeleitet werden können und auch dazu in der Lage sind …

Nun, das ist nicht der Fall ... SFTP fragt mich ständig nach einem Passwort.

Kann mir jemand sagen, was ich übersehe?

Tausend Dank,

F.

[BEARBEITEN:Messain StackOverflow wurde ich gefragt, ob die Datei authorized_keys für andere Benutzer (Mitglieder von MyGroup) lesbar sei. Das ist ein interessanter Punkt, das war meine Antwort:

Nun, das war es nicht (es war 700), aber dann habe ich die Berechtigungen des .ssh-Verzeichnisses und der Authentifizierungsdatei auf 750 geändert, allerdings immer noch ohne Wirkung. Ich denke, es ist erwähnenswert, dass mein Home-Verzeichnis ( /home/MyUser) auch für die Gruppe lesbar ist; die meisten Verzeichnisse haben 750 und der spezifische Ordner, in dem sie Dateien ablegen, ist 770.

Was die Auth-Datei betrifft, gehe ich davon aus, dass die Authentifizierung vom lokalen Benutzer durchgeführt wird MyServer, oder nicht? Wenn das so ist, verstehe ich nicht, warum andere Benutzer sie lesen müssen … na ja … ich frage mich nur. ]

Antwort1

Bevor Sie dies versuchen, lesen Sie bitte bis zum Ende.

Sie können tun, was Sie möchten, indem Sie zwei Benutzer erstellen, sie derselben Gruppe zuordnen und ihnen dasselbe Home-Verzeichnis zuweisen. Erstellen Sie dann die Datei ~/.ssh/authorized_keys im gemeinsam genutzten Home-Verzeichnis mit den darin enthaltenen Schlüsseln.

Die Konten müssen über eine Shell verfügen. Sperren Sie sie daher, usermod -L LOGINum eine interaktive Anmeldung zu verhindern.

Die Berechtigungen für das Verzeichnis ~/.ssh müssen g:rx und für ~/.ssh/authorized_keys g:r-- sein.

chmod g+rx ~/.ssh
chmod g+r ~/.ssh/authorized_keys

Dies verursacht dann Probleme mit sshd, da es erwartet, dass das Verzeichnis höchstens g:r-- und die Datei g:--- ist. Sie erhalten die Fehlermeldung

Authentication refused: bad ownership or modes for file /home/test/.ssh/authorized_keys

Damit dieses Schema funktioniert, müssen Sie nundie eingebauten Prüfungen von sshd durchbrechendurch Bearbeiten /etc/sshd_configund Festlegen StrictModes noder Standardeinstellung StrictModes yes. Starten Sie sshd neu, damit die Änderungen wirksam werden.

Es sollte wie gewünscht funktionieren. Leider haben Sie die Sicherheit von sshd aufgehoben und könnten zu einem späteren Zeitpunkt Änderungen vornehmen, die Ihr System völlig offen lassen.

Um dies sicherer zu machen, nehmen Sie keine der oben genannten Änderungen vor

Erstellen Sie zwei Benutzerkonten in derselben Gruppe und richten Sie deren ~/.ssh/authorised_keys ein. Erstellen Sie von jedem Home-Verzeichnis einen Link zu dem Ort, an dem Sie Inhalte ablegen möchten.

ln -s -n /path/to/stuff content

Sperren Sie die Berechtigungen für das Home-Verzeichnis, um zu verhindern, dass Benutzer darin schreiben.

Interaktive Anmeldung der Konten verhindern

usermod -L LOGIN

Ändern Sie die Berechtigungen für /path/to/stuff, um Gruppenzugriff zu ermöglichen.

Antwort2

Offenbar möchten Sie Zugriff auf eine Benutzer-ID gewähren, die als Ablage für Dateien fungiert. Sie können in der Datei mit den autorisierten Schlüsseln einschränken, was die Benutzer tun können.

Da Sie nur möchten, dass sie eine Verbindung mit dieser Benutzer-ID auf dem Server herstellen, können Sie ihnen eine .ssh/config-Datei bereitstellen, die sie direkt der richtigen Benutzer-ID zuordnet.

Antwort3

Die Antwort auf diese Frage -Wie kann ich ein Benutzerkonto erstellen, das nur Uploads per SFTP zulässt?- empfiehlt ein Paket namensAbonnieren– Ich habe es noch nie verwendet, aber es hört sich an, als ob es das tun könnte, was Sie wollen.

Antwort4

Ein Blick in die Logdateien kann hilfreich sein. Bitte geben Sie nach einem "fehlgeschlagenen" Login Folgendes ein

tail -n 50 /var/log/secure

und poste die Ausgabe

verwandte Informationen