
Ich möchte gpg-agent
stattdessen ssh-agent
in MacOS High Sierra verwenden. Dazu muss ich global zwei Umgebungsvariablen festlegen:
GPG_TTY=$(tty)
SSH_AUTH_SOCK=${HOME}/.gnupg/S.gpg-agent.ssh
Dies ist erforderlich, um die Passphrasen für die GPG-Authentifizierungsschlüssel UND für meine SSH-Schlüssel zu speichern.
Ich möchte diese Art von Setup, um KeePassXC mit seiner SSH-Agent-Integrationsfunktion zu verwenden, sodass alle zufälligen Passphrasen für meine SSH-Schlüssel dort gespeichert sind und zu GPG-Agent (anstelle von SSH-Agent) hinzugefügt werden, wenn die KeePassXC-Datenbank entsperrt wird. Andererseits werden die Passphrasen für meine GPG-Authentifizierungsschlüssel nativ in GPG-Agent gespeichert.
Weiß jemand, wie ich Umgebungsvariablen global einrichten kann? Wenn ich sie in meinem benutzerweit einrichte ~/.zshrc
, startet KeepassXC den SSH-Agenten immer noch parallel zum GPG-Agenten und fügt sie dem SSH-Agenten des Systems statt dem GPG-Agenten hinzu.
Das Endziel besteht darin, den SSH-Agenten vollständig zu deaktivieren und sicherzustellen, dass KeePassXC ihn nicht startet, sondern stattdessen den GPG-Agenten verwendet.
Ich habe versucht, Umgebungsvariablen wie folgt festzulegen launchctl setenv
:
$ launchctl setenv SSH_AUTH_SOCK ${HOME}/.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, als würde die mit launchd festgelegte Variable ignoriert ...