Ich bin gerade dabei, mich gnome-keyring
als SSH-Agent loszuwerden .
Dinge, die ich getan habe
- Ich habe stundenlang im Internet gesucht.
- Oft geändert und neu gestartet.
- Schließlich habe
rm
ich gerade alle Autostart-Dinge im Zusammenhang mit SSH erledigt.
Das letzte hat magisch funktioniert, da es dort keine Steckdose mehr für den Agenten gibt:
/run/user/[uid]/keyring/ssh
Problem
Das verbleibende Problem besteht darin , dass trotz meiner des wunderbare zuvor erwähnte Ergebnis zu erhalten, was in gnome-keyring
noch beharrt auf Einstellung SSH_AUTH_SOCK
auf den jetzt nicht vorhandenen oben Buchse. Es ist wie mit Zombies, diese Dinge sterben nie.
Frage
Was setzt diese Variable und wo wird sie durchgeführt?
Tücken
- Ich frage nicht , wie ich diese Variable auf einen anderen Wert zurücksetzen kann.
- Ich frage nicht , wie ich diesen Wert systemweit oder in einer Shell-Konfigurationsdatei festlegen kann.
- Ich bitte nicht um einige Init-Skript-Voodoo-Beschwörungsformeln, um etwas einzufrieren, festzulegen, zurückzusetzen, zu deaktivieren oder zu ersetzen.
- Ich bitte nicht um Rat, wie man das Ding deinstalliert: Ich brauche es immer noch für meine Passwörter und es scheint der am besten integrierte und ausgefeilte Passwort-Manager in Gnome zu sein.
Ich möchte, dass das Ding deaktiviert wird, wie es sein sollte.
gnome
openssh
ssh-agent
gnome-keyring
JohnW
quelle
quelle
Antworten:
Lass mich raten - du benutzt Wayland. Ich bin heute auf dieses Problem gestoßen und dachte, ich würde die Lösung teilen.
Gnome-Session hat
SSH_AUTH_SOCK
aus irgendeinem Grund einen fest codierten Override für under wayland. Siehe das folgende Commit: https://github.com/GNOME/gnome-session/commit/a8896ccad65583885735a04205351f48a42f29aeDie Problemumgehung? Legen Sie eine Umgebungsvariable fest, um dieses Verhalten zu deaktivieren :
GSM_SKIP_SSH_AGENT_WORKAROUND=1
. Dadurch wird der Umgebungseinstellungscode kurzgeschlossen.Für Personen, die dies finden und auch versuchen, ssh-agent zu konfigurieren: In meiner systemd-Einheitendatei für ssh-agent habe ich die folgende Zeile:
Die vollständige Datei sieht folgendermaßen aus:
quelle
export GSM_SKIP_SSH_AGENT_WORKAROUND=1
zu meinem ~ / .profile und Neustarten meine Konfiguration behoben, die zuvor in v17.04 funktioniert hatte.(Die Umgebung von OP ist nicht bekannt, daher sind die hier angegebenen Pfade die auf meinem Ubuntu-Computer gefundenen.)
Wo setzt der Gnomschlüsselring SSH_AUTH_SOCK?
Um die Hauptfrage im Titel zu beantworten, wird SSH_AUTH_SOCK durch Gnome-Schlüsselbund
/usr/share/upstart/sessions/gnome-keyring-ssh.conf
mit dem folgenden Befehl festgelegt:Zitat des
initctl
Handbuchs:Woher kommt SSH_AUTH_SOCK überhaupt?
Der
initctl
obige Befehl hängt davon ab, dass die Umgebungsvariable SSH_AUTH_SOCK bereits vorhanden ist. Also, ist es eine Henne-Ei-Situation? Was setzt es?SSH_AUTH_SOCK wird anfänglich vom ursprünglichen ssh-Agenten festgelegt, der zu Beginn der X-Sitzung gestartet wird. Zitat des Handbuchs:
ABER die ssh-Komponente des Gnome-Schlüsselbunds ersetzt sich selbst durch den vorhandenen ssh-Agenten. Daher überschreibt es SSH_AUTH_SOCK mit einem eigenen Socket,
/run/user/.../keyring-.../ssh
sodass Anwendungen mit ihm und nicht mit ssh-agent kommunizieren .So deaktivieren Sie es
Beantworten wir nun den letzten Satz "Ich möchte, dass das Ding deaktiviert wird". Das OP möchte das Überschreiben von SSH_AUTH_SOCK durch die ssh-Komponente im Gnome-Schlüsselring deaktivieren. Sie möchten die ursprünglich von ssh-agent festgelegte Variable "true" SSH_AUTH_SOCK zurückerhalten.
Die ssh-Komponente wird mit demselben Startskript gestartet, das oben erwähnt wurde (
/usr/share/upstart/sessions/gnome-keyring-ssh.conf
), jedoch unter einer Bedingung: Die ZeichenfolgeX-GNOME-Autostart-enabled=false
darf in keiner dieser Dateien gefunden werden:/etc/xdg/autostart/gnome-keyring-ssh.desktop
~/.config/autostart/gnome-keyring-ssh.desktop
Wenn Sie es deaktivieren möchten, müssen Sie lediglich eine Zeile
X-GNOME-Autostart-enabled=false
zu einer dieser Dateien hinzufügen , vorzugsweise zu der in Ihrem HOME-Verzeichnis.quelle
/tmp/ssh-XXX/agent.PID
. Ist ssh-agent noch in Ihrer Prozessliste?https://wiki.archlinux.org/index.php/GNOME/Keyring#Disable_keyring_daemon_components
Leicht bearbeitet, scheinbar unbrauchbare Verwendung von
printf
quelle
Ab Gnome 3.18 scheint der Socket in gespeichert zu sein
~/.cache/keyring-(some random string)/ssh
Vermutlich wird es von gnome-keyring-daemon gesetzt.
quelle