Ich verwende Linux Mint und habe es nicht geschafft, den Gnome-Schlüsselbund bei der Anmeldung automatisch freizuschalten.
Ein Symptom meines Problems ist wie folgt:
$ ssh-add
Identity added: /home/me/.ssh/id_rsa (/home/me/.ssh/id_rsa)
$ git pull
WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-Nmf3J3/pkcs11: No such file or directory
Wie kann ich es schaffen, dass Git ohne Passworteingabe von mir pushen / ziehen kann?
Mir ist klar, dass es hier verschiedene Dinge mit Gnom-Schlüsselbund und SSH-Agent gibt, aber ich habe es nicht geschafft, es festzunageln.
Das Ausführen ssh-add
während einer Sitzung bedeutet, dass ich nicht mehr nach meiner Passphrase für SSH / git gefragt werde.
Das Problem ist, dass ich ssh-add
während jeder Sitzung ausführen muss - mir muss fehlen, wie der Gnome-Schlüsselring beim Anmelden entsperrt wird.
$ export | grep GNOME
GNOME_KEYRING_CONTROL=/tmp/keyring-hjMM4V
GNOME_KEYRING_PID=1961
Dies geschah erneut in derselben Sitzung wie bei der ersten Bearbeitung. Ich habe git pull
und bekam WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-hjMM4V/pkcs11: No such file or directory
.
$ env | grep SSH
SSH_AGENT_PID=2116
SSH_AUTH_SOCK=/tmp/ssh-OACxJMBY2038/agent.2038
$ ps -fp $SSH_AGENT_PID
UID PID PPID C STIME TTY TIME CMD
eoin 2116 2038 0 09:47 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager
quelle
export | grep GNOME
die Ergebnisse ausführen und veröffentlichen? Hast du diesen Bug gesehen?gnome-keyring
beim Anmelden automatisch entsperre.env | grep SSH
undps -fp $SSH_AGENT_PID
zsh
und mittmux
Laufen komplex gemacht (um das nur zu erwähnen).Antworten:
Was passieren soll ist:
Sie starten eine Gnome-Sitzung, die Teil des Starts eines Gnome-Schlüsselbund-Daemons ist (der auch als SSH-Agent fungiert), und die Umgebung aller während dieser Gnome-Sitzung gestarteten Elemente wird mit Informationen zur Kontaktaufnahme mit diesem SSH-Agenten aktualisiert. Das Kennwort, das Sie beim grafischen Anmelden eingeben, wird zum Entsperren des Standardschlüsselbunds verwendet.
Wenn Sie den gnome-keyring als ssh-Agent verwenden, möchten Sie keinen anderen Agenten wie diesen verwenden
ssh-agent
.Wenn Ihre X-Sitzung beendet ist, ist auch der Gnome-Schlüsselbund beendet. Ihre tmux-Sitzung bleibt jedoch bestehen. Selbst wenn Sie einen anderen gnome-keyring oder ssh-agent starten, kann die Umgebung der Prozesse, die bereits gestartet wurden
tmux
, nicht mit ihm kommunizieren, es sei denn, Sie aktualisieren ihre Umgebung mit dem Pfad des neuen Sockets.Was Sie tun könnten, ist:
Und machen Sie
. ~/.gkr
in allen Muscheln, die Sie wollen, den neuen Gnom-SchlüsselringÜberwachen Sie jedoch, mit welchem DISPLAY sich der Gnome-Keyring-Daemon verbinden wird.
quelle
.gkr
, sollte ich? Wie kann ich aufpassen, mit welchem Displaygnome-keyring-daemon
eine Verbindung hergestellt werden soll?Das erste, was ich versuchen würde, ist, dass
apt-get install ssh-askpass-gnome
wenn Sie dieses Paket (oder ein alternatives Askpass-Programm) nicht installiert haben, Gnome Sie nicht zur Eingabe Ihres Passworts auffordern kann, wenn Sie Ihren Schlüssel entsperren müssen.Sie müssen auch Ihre
DISPLAY
Variable richtig eingestellt haben:Wie starten Sie Ihr Terminal? Möglicherweise liegt ein Problem damit vor, wie Sie die Terminalsitzung starten und ob sie von der Terminalsitzung erbt oder nicht
gnome-session
. Dies kann passieren, wenn Sie ein Gnon-Gnome-Programm verwenden, um Ihre Tastenzuordnungen festzulegen.Vorausgesetzt, Sie verwenden
gnome-terminal
, können Sie mit überprüfenpstree
. Hier sehen Sie die korrekte Vererbung:Während in dieser Sitzung erbt es NICHT von
gnome-session
:Überprüfen Sie auch,
ssh-agent
dass gestartet wird vongnome-session
:quelle
mate-terminal --maximize -e tmux
(was ich für gnome-terminal halte). Weiterhinzsh
wird dann innerhalb geladentmux
.ssh-askpass-gnome
wurde installiert.$DISPLAY
hat erwartetes Ergebnis. Für das Erbetmux
sitzt untermate-terminal
ohne Spannung vongnome-session
. Auf einem separaten Zweig ist estmux───zsh───xargs───pstree
. Um Ihre letzte Frage zu beantworten, ist der Ausgang:init───mdm───mdm───x-session-manag───ssh-agent
. Was denkst du? Vielen Dank.mate-terminal
erbengnome-session
. zwei Fragen: 1) Was ist die Ausgabe vonpgrep -fl gnome-session
und; 2) Was unternehmen Sie, um Ihr Terminal aufzurufen? von einer Speisekarte? von einer Tastenkombination? oder ????Ctrl+Alt+t
. Es ist eine Verknüpfung, die ich mithilfe der Linux Mint-AnwendungKeyboard Shortcuts
mit dem zuvor erwähnten Befehl festgelegt habe. Jedoch , beim StartTerminal
durch den Haupt Menü „Start“, SSH anders gehandelt . Die Gnome-Benutzeroberfläche forderte mich auf, mein Kennwort für meinen Schlüsselbund einzugeben. Die Option, diese Passphrase für spätere Sitzungen zu speichern, wurde abgeblendet. Ich konnte sie nicht auswählen. (Der Menübefehl ist auchmate-terminal --maximize -e tmux
.) Kommt uns das näher? Danke, aculich.Ctrl+Alt+t
, das Sie in den Tastaturkürzeln eingestellt haben, dann denke ich, dass Sie wahrscheinlich einen Fehler in mdm / MATE haben. Welche Version von Mint verwenden Sie?Ich glaube Problem beim dauerhaften Speichern des passwortgeschützten SSH-Schlüssels.
Bitte schauen Sie sich die folgenden Ressourcen an:
quelle
~/.ssh/config
aber das hat es nicht behoben .Fügen Sie dies Ihrem .bash_profile hinzu
quelle
$SSH_AUTH_SOCK
hat ein Wert von/tmp/ssh-QCndYkdq2025/agent.2025
. Vermisse ich etwas?$git pull
Ruft immer noch die SSH-Passphrasen-Eingabeaufforderung auf.ssh-agent
werden bei der Anmeldung direkt nach dem Auspacken ordnungsgemäß gehandhabt, und es sind in der Regel solche Roll-Your-Own-Dinge, die das Problem lösen. Wenn Ihr System aus irgendeinem Grund nicht funktioniertssh-agent
, tun Sie dies nicht von Hand. Verwenden Sie stattdessen einen Schlüsselbund, der für diese und verwandte Probleme gut geeignet ist. Es funktioniert auch für BSD (Mac) und andere Nicht-Linux-Systeme.