Глобальные переменные окружения для gpg-agent в MacOS High Sierra

396
Drew

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

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

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

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

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

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

Я попытался установить переменные env с launchctl setenv:

$ launchctl setenv SSH_AUTH_SOCK $/.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 игнорируется ...

2

0 ответов на вопрос