Глобально задать переменные среды для gpg-agent в MacOS High Sierra

Глобально задать переменные среды для gpg-agent в MacOS High Sierra

Я хочу использовать gpg-agentвместо ssh-agentв MacOS High Sierra. Для этого мне нужно задать глобально две переменные среды:

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

Это необходимо для хранения парольных фраз для ключей аутентификации gpg и моих ключей ssh.

Мне нужна такая настройка, чтобы использовать KeePassXC с его функцией интеграции ssh-agent, чтобы все случайные парольные фразы для моих ключей ssh ​​хранились там и были добавлены в gpg-agent (вместо ssh-agent) при разблокировке базы данных KeePassXC. С другой стороны, парольные фразы для моих ключей аутентификации gpg будут изначально храниться в gpg-agent.

Кто-нибудь знает, как мне глобально настроить переменные окружения? Если я настрою их для всего пользователя в моем ~/.zshrc, то KeepassXC все равно запустит ssh-agent параллельно с gpg-agent и добавит их в системный ssh-agent вместо gpg-agent.

Конечная цель — полностью отключить ssh-agent, убедившись, что KeePassXC не будет его запускать, а вместо этого будет использовать gpg-agent.

Я попытался установить переменные окружения с помощью 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

Выглядит хорошо, но затем:

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

Похоже, что переменная, заданная с помощью launchd, игнорируется...

Связанный контент