Weltweit eingestellte Umgebungsvariablen für gpg-agent in MacOS High Sierra

441
Drew

Ich möchte gpg-agentanstelle von ssh-agentMacOS High Sierra verwenden. Um dies zu erreichen, muss ich zwei Umgebungsvariablen global setzen:

GPG_TTY=$(tty) SSH_AUTH_SOCK=$/.gnupg/S.gpg-agent.ssh 

Dies ist erforderlich, um die Passwörter für gpg-Authentifizierungsschlüssel UND für meine SSH-Schlüssel zu speichern.

Ich möchte diese Art von Setup verwenden, um KeePassXC mit der Funktion ssh-agent-Integration zu verwenden, sodass alle zufälligen Passphrasen für meine ssh-Schlüssel dort gespeichert werden und zu gpg-agent (anstelle von ssh-agent) hinzugefügt werden, wenn die KeePassXC-Datenbank aktiviert ist freigeschaltet Andererseits werden die Passphrasen für meine gpg-Authentifizierungsschlüssel nativ in gpg-agent gespeichert.

Weiß jemand, wie ich env vars global einrichten kann? Wenn ich sie benutzerweit in meinem eingerichtet habe ~/.zshrc, startet KeepassXC den ssh-agent weiterhin parallel mit gpg-agent und fügt sie dem ssh-agent des Systems statt des gpg-agent hinzu.

Das Endziel ist, ssh-agent vollständig zu deaktivieren, um sicherzustellen, dass KeePassXC es nicht startet, sondern stattdessen den gpg-agent verwendet.

Ich habe versucht, ENV-Variablen mit zu setzen launchctl setenv:

$ launchctl setenv SSH_AUTH_SOCK $/.gnupg/S.gpg-agent.ssh $ launchctl getenv SSH_AUTH_SOCK /Users/drew/.gnupg/S.gpg-agent.ssh 

Sieht gut aus, aber dann:

$ echo $SSH_AUTH_SOCK /private/tmp/com.apple.launchd.IjNASGcnxM/Listeners 

Es scheint also, dass die mit launchd gesetzte Variable ignoriert wird ...

2

0 Antworten auf die Frage