Wie richte ich einen Linux-Benutzer ein, der nur über ssh auf ein Repository zugreifen kann?

1

Ich habe ein Quecksilber-Repository auf einem sicheren Server, auf den ich einem externen Benutzer sicheren Zugriff gewähren möchte.

Ich habe für ihn ein Benutzerkonto und eine Publickey-SSH-Authentifizierung hinzugefügt, damit er jetzt Änderungssätze über SSH pushen / ziehen kann.

Meine Frage ist: Wie kann ich dieses neue Benutzerkonto vollständig deaktivieren, um auf andere Daten auf dem Server als auf das Repository zuzugreifen? Er sollte zB nicht einmal die Möglichkeit haben, an einer interaktiven Shell-Sitzung teilzunehmen.

Vielen Dank

GJ.
quelle

Antworten:

0

Führen Sie diesen Befehl aus, um die SFTP-Server-Binärdatei auf Ihrem Server zu suchen:

whereis sftp-server

Führen Sie dann diesen Befehl aus, um die Shell des Benutzers auf das Programm sftp-server festzulegen, und ändern Sie den Speicherort in den oben ermittelten Speicherort:

chsh -s /usr/lib/sftp-server hg-user

Jetzt hat der Benutzer nur noch SFTP-Zugriff auf das System.

Aufnäher
quelle
1
(1) Das Ändern der Shell ist nicht sicher, siehe semicomplete.com/articles/ssh-security und (2) damit hg über ssh ausgeführt wird, sollte die lokale hg-Binärdatei auf dem Remote-Server aufgerufen werden, nicht der ftpd. Ich denke, was Sie anbieten, ist keine praktikable Lösung
GJ.
@ GJ: Entschuldigung. In der Mercurial-Distribution ist ein Skript enthalten, mit dessen Hilfe ein sicherer SSH-Zugriff eingerichtet werden kann hg. Es wird außerdem empfohlen, bestimmte SSH-Einstellungen zu ändern, um die in Ihrem Link beschriebenen Probleme zu beheben.
Patches