Warum funktioniert die SSH-Anmeldung mit demselben Schlüsselpaar für ein Konto, aber nicht für das andere auf demselben Computer?

Warum funktioniert die SSH-Anmeldung mit demselben Schlüsselpaar für ein Konto, aber nicht für das andere auf demselben Computer?

Ich habe ein öffentliches/privates RSA-Schlüsselpaar auf meinem Laptop; auf einem Remote-Rechner habe ich zwei Konten A und B, die jeweils den öffentlichen Schlüssel in /home/{A,B}/.ssh/authorized_keys haben. Mit dem privaten Schlüssel, der in ssh-agent auf meinem Laptop geladen ist, kann ich ohne Passwort per SSH auf A@remote zugreifen, aber B@remote fordert ein Passwort an.

Ich habe keine ~/.ssh/ssh_config auf meinem Laptop. Benutzer A hat noch kein Passwort; B schon. Das Ändern von /etc/ssh/ssdh_config auf „PasswordAuthentication no“ führt für Benutzer B nur zu „ssh publickey denied“.

Der Server läuft auf Ubuntu 9.10 Karmic mit OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19. Okt. 2007. Der Laptop läuft auf Ubuntu 10.04 mit OpenSSH_5.3p1.

Antwort1

Es stellte sich heraus, dass im Ordner $HOME/.ssh des beschädigten Benutzers die Schreibberechtigung für die Gruppe aktiviert war. chmod go-rwx $HOME/.sshDas Problem wurde behoben.

Antwort2

In meinem Fall war neben den Berechtigungen für die .ssh/authorized_keysDatei (s. Antwort von @tobym) auch ein gesperrtes Konto die Problemursache.

Debuggen auf dem Server mit sudo tail -f /var/log/auth.logzeigte

User <account-name> not allowed because account is locked

Das Konto wurde gesperrt, da ich kein Passwort festgelegt hatte, da ich nur eine passwortlose, schlüsselbasierte Authentifizierung wollte. Die Lösung war

sudo passwd <account-name>

und weisen Sie ein zufälliges, komplexes Passwort zu.

verwandte Informationen