Ich habe eine Frage zu passwortlosem SSH mit einem Home-Ordner.
Ich habe ein gemeinsames /home/developers-Konto und mehrere Benutzer (developerA,developerB ...) erstellt. Allen Entwicklern wurde derselbe Home-Ordner (/home/developers) zugewiesen.
Als EntwicklerA habe ich auf seiner Maschine Folgendes getan:
- ssh-keygen -t rsa -f EntwicklerA -C[email geschützt]
- (auf dem Server). Die .pub-Datei wurde zur Serverdatei /home/developers/.ssh/authorized_keys hinzugefügt.
- ssh EntwicklerA@meinServer -i EntwicklerA
Ich denke, dass das Problem mit den Berechtigungen zusammenhängt, da die Datei authorized_keys den Entwicklern gehört (-rw------- 1 developers developers 2033 Nov 11 22:55 authorized_keys ).
Kennt jemand eine Lösung für dieses Problem oder weiß jemand, wie man passwortloses SSH für mehrere Benutzer einsetzt, ohne für jeden einen Home-Ordner zu erstellen?
Danke im Voraus, Leute
Antwort1
Sie haben nur einen Benutzer. Es handelt sich also nicht um ein Problem mit mehreren Benutzern. Stellen Sie sicher, dass das .ssh-Verzeichnis den Modus 700 hat.
Sie machen es jedoch trotzdem falsch. Sie sollten für jeden Entwickler einen anderen Benutzer erstellen und diese einer gemeinsamen Gruppe zuordnen. Wenn sie an denselben Dateien arbeiten müssen, machen Sie sie für ihre gemeinsame Gruppe beschreibbar und legen Sie sie in einem Verzeichnis ab, das das Flag „Gruppen-ID festlegen“ gesetzt hat, sodass alles, was sie dort schreiben, der Gruppe gehört.
Antwort2
Da er gefragt hat, muss er seine Gründe haben. Hier sind einige Ideen:
- Stellen Sie sicher, dass Ihre öffentliche Schlüsselzeichenfolge nicht umbrochen ist. Sie sollte in authorized_keys in einer durchgehenden Zeile stehen.
- Die Berechtigungen für autorisierte Schlüssel sollten rw-rr (644) sein.
- Überprüfen Sie die Berechtigungen für ~/.ssh. Sollte rwx-- (700) sein.
- Stellen Sie außerdem sicher, dass /etc/ssh/sshd_config „PubkeyAuthentication yes“ enthält.
Antwort3
Meiner Erfahrung nach ist ssh sehr genau, was Datei- und Verzeichnisberechtigungen angeht. Die Datei authorized_keys muss „rw-r--r--“ sein und das .ssh-Verzeichnis, das sie enthält, muss ebenfalls für jeden zugänglich sein (aber nicht für die ganze Welt beschreibbar). Dies bedeutet das .ssh-Verzeichnis und den vollständigen Verzeichnispfad, der dorthin führt.
Wenn Sie dies nicht richtig machen, schlagen die Anmeldungen zum Schlüsselaustausch fehl.
Mike
Antwort4
@joebob hat es richtig gemacht! Nur noch ein paar Details (beachten Sie seine letzte Zeile)
Ausdieser Beitrag.ssh
Sie können sehen, dass SSH die Verwendung von Ordnern in einem freigegebenen Home-Verzeichnis ablehnt . In meinem Fall sehe /var/log/messages
ich:
10. März 09:57:13 sshd[32249]: Authentifizierung abgelehnt: falscher Besitz oder Modi für Verzeichnis /home/
Die referenzierte Site bietet hierfür zwei Lösungen:
Festgelegte Berechtigungen
chmod g-w /home/your_user chmod 700 /home/your_user/.ssh chmod 600 /home/your_user/.ssh/authorized_keys
Stellen Sie
StrictModes off
in Ihrem/etc/ssh/ssh_config
(nicht empfohlen)
Leider verwende ich im Moment eine Produktionsbox und kann keine der Lösungen testen ...Ich suche auch nach einer dritten Optionwenn möglich, da ich aufgrund der Konfiguration unseres Teams die Berechtigungen für das Home-Verzeichnis nicht ändern kann … (schlechtes Modell – ich weiß)