Der Schlüsselring fordert beim SSH nicht mehr zur Eingabe des Kennworts auf

7

Ich erinnere mich, dass ich früher in der Lage war, ssh [email protected]eine Eingabeaufforderung zu erhalten, in der ich nach einem Kennwort gefragt wurde, um den Schlüsselbund für die gesamte GNOME-Sitzung zu entsperren, sodass ich anschließend sshdas Kennwort für den Schlüsselbund nicht mehr eingeben musste (nicht ganz sicher, ob dies in Ubuntu der Fall ist oder eine andere Distribution).

Aber heutzutage ssh [email protected]fragte ich mich jedes Mal im Terminal nach meinem Schlüsselbund-Passwort. Dies macht den Zweck der Verwendung von SSH-Schlüsseln zunichte.

Ich überprüfte

$ cat /etc/pam.d/lightdm | grep keyring
auth    optional        pam_gnome_keyring.so
session optional        pam_gnome_keyring.so auto_start

das sieht gut aus, und

$ pgrep keyring
1784 gnome-keyring-d

Der Schlüsselring-Daemon lebt also.

Ich habe schließlich festgestellt, dass die Variablen SSH_AUTH_SOCK (und GNOME_KEYRING_CONTROL und GPG_AGENT_INFO und GNOME_KEYRING_PID) nicht richtig gesetzt sind. Was ist der richtige Weg, um diese Variable festzulegen, und warum werden sie nicht in meiner Umgebung festgelegt (dh sollten sie nicht in der Standardinstallation festgelegt werden)?

Ich denke, ich kann es in .bashrc einstellen, aber dann würden die Variablen nur in einer Bash-Sitzung definiert, während dies für ssh in Ordnung ist. Ich glaube, dass die anderen Umgebungsvariablen für GUI-Apps erforderlich sind, um Schlüsselbund zu verwenden.

Lie Ryan
quelle
Ich habe 2 12.04-Installationen, eine hat ein ähnliches Problem, die andere nicht. In meinem Fall scheinen die Umgebungsvariablen korrekt zu sein. Die meisten Softwareprodukte sind bei beiden gleich, aber nicht bei allen. Hat jemand eine Idee, wie man ssh / gnome-keyring bittet, Versuche zu protokollieren, den Schlüsselring zu kontaktieren?
Drevicko

Antworten:

6

Ich habe dies im Arch-Wiki gefunden: https://wiki.archlinux.org/index.php/GNOME_Keyring

Grundsätzlich führen Sie aus gnome-keyring-daemon -s, um Ihren spezifischen Schlüsselringwert zu erhalten, und fügen dann zu Ihrer .bashrc Folgendes hinzu:

SSH_AUTH_SOCK=`netstat -xl | grep -o '/run/user/yourusername/keyring-xxxxxxx.*/ssh$'`
[ -z "$SSH_AUTH_SOCK" ] || export SSH_AUTH_SOCK

Dies sollte dazu führen, dass ssh Sie über die Schlüsselring-GUI nach Ihrem Passwort fragt.

Nerdfest
quelle
2

Ich benutze ssh häufig, hauptsächlich zwischen meiner Ubuntu-Workstation und einem anderen Ubuntu-Webserver mit allen Websites, an denen ich arbeite. Ich bin einmal auf die gleichen Symptome gestoßen, die Sie haben, und es stellte sich heraus, dass es etwas war, wie ich das Terminal betrieben habe. Ich hatte eine benutzerdefinierte Verknüpfung zum Ausführen von gnome-terminal erstellt, weil ich eine bestimmte Befehlszeile übergeben wollte. Aber ich glaube, ich hatte das gleiche Problem mit xterm.

Wenn ich das Terminal über die integrierte Verknüpfung (Alt-Strg-T) oder über das Menü ausführte, funktionierte es ordnungsgemäß und forderte mich mit einem GUI-Dialogfeld für das Kennwort auf. Wenn ich es jedoch über meine benutzerdefinierte Verknüpfung ausführte, war dies immer der Fall fragte vom Terminal selbst und erinnerte sich nicht daran.

Marty Fried
quelle
1
Ja. Du hast den Nagel auf den Kopf getroffen. Das ist auch für mich das Problem. Ich frage mich warum?
Levesque
@levesque: Ich bin froh, dass es geholfen hat. Ich habe nie herausgefunden warum, aber da ich eine Lösung hatte und die Kommandozeile nicht so sehr brauchte, habe ich nie wirklich nachgeforscht. Jetzt erinnere ich mich kaum noch an das Problem. :-)
Marty Fried
0

Ich hatte auch dieses Problem. Erschien plötzlich. Anscheinend verursacht durch ein gespeichertes (möglicherweise falsches) (SFTP) Anmeldekennwort für dieselbe Domain.

Lösung

Öffnen Sie Password and Keys(Gnome-Schlüsselring) und löschen Sie das Passwort (war unter Ubuntu eins)

Fenster Paasword and Keys

Neustart und alles war in Ordnung.

export | grep SOCK

Jetzt wieder zurückgegeben: SSH_AUTH_SOCK = / run / user / yourusername / keyring-xxxxxxx. * / Ssh

Janghou
quelle