SSH Fordert zur Eingabe des Kennworts auf, obwohl private Schlüssel verfügbar sind, dem Server angezeigt werden und ihm bekannt sind

9

Ich habe einen Ubuntu-Desktop in einem VirtualBox-Computer und ein seltsames Verhalten mit dem openssh-Server:

  • Wenn mein Benutzer noch nicht mit dem Server verbunden ist (erste SSH-Verbindung), fordert er zur Eingabe des Kennworts auf, obwohl private Schlüssel verfügbar sind (PuTTY + Pagent). Wenn ich nach dieser ersten Verbindung eine sekundäre oder dritte Verbindung öffne, wird sie mit den Schlüsseln verbunden.
  • Wenn ich alle Verbindungen schließe und eine neue öffne, werden Sie zur Eingabe des Kennworts aufgefordert.
  • Wenn ich beispielsweise 4 offene Verbindungen habe und die erste schließe (die, die zur Eingabe des Passworts aufgefordert hat), wird die fünfte Verbindung mit den Schlüsseln geöffnet

Hat das schon jemand gesehen?

Vielen Dank für die Zeit, die Sie damit verbracht haben, zu helfen

Cerber
quelle

Antworten:

14

Wie wird das Home-Verzeichnis des Benutzers bereitgestellt? Es klingt so, als ob aus irgendeinem Grund das Home-Verzeichnis des Benutzers nicht verfügbar ist, wenn der Benutzer nicht angemeldet ist, sodass sshd die Datei authorized_keys nicht finden kann.

Überprüfen Sie auch /var/log/auth.log auf dem Server auf Nachrichten.

Update: Wenn eine Anmeldung ohne Kennwort erforderlich ist, können Sie die Datei sshd_config so ändern, dass in einem unverschlüsselten Verzeichnis nach authorzied_keys gesucht wird. http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5

Ich nehme an, so etwas würde funktionieren (nicht getestet):

AuthorizedKeysFile /etc/ssh/pubkeys/%u/authorized_keys .ssh/authorized_keys

Das sollte sshd anweisen, sowohl am unverschlüsselten als auch am verschlüsselten Speicherort nach öffentlichen Schlüsseln zu suchen. Überprüfen Sie die Manpage für weitere Informationen.

cjc
quelle
Gute Idee !! Ich denke, das Benutzerverzeichnis ist verschlüsselt, also könnte es das sein!
Cerber
Das Home-Verzeichnis des Benutzers muss ecrypt oder ähnliches verwenden.
kzh
1
Ah, das wäre dann die Ursache, da sshd den Inhalt des Home-Verzeichnisses nicht entschlüsseln kann.
cjc
1
@kzh: yup, wurde dadurch einmal mit Ubuntu Desktop verbrannt. Fragt, ob Sie das Home-Verzeichnis verschlüsseln möchten (warum nicht?), Ohne ssh zu erwähnen. Ich hätte zwei und zwei zusammenfügen sollen, aber ein einfacher "Hinweis: Dies wirkt sich auf SSH aus ..." wäre hilfreich gewesen.
Soße Gesicht
1
Wenn Sie Ihr Passwort nicht eingeben, wie wird Ihr Home-Verzeichnis beim Anmelden entschlüsselt?
Random832