Variáveis de ambiente definidas globalmente para o gpg-agent no MacOS High Sierra

2

Eu quero usar gpg-agent em vez de ssh-agent no MacOS High Sierra. Para conseguir isso, preciso definir globalmente duas variáveis de ambiente:

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

Isso é necessário para armazenar as senhas para as chaves de autenticação gpg E para as minhas chaves ssh.

Eu quero este tipo de configuração para usar o KeePassXC com seu recurso de integração ssh-agent, então todas as senhas aleatórias para minhas chaves ssh são armazenadas lá e serão adicionadas ao gpg-agent (em vez de ssh-agent) quando O banco de dados KeePassXC está desbloqueado. Por outro lado, as senhas das minhas chaves de autenticação gpg serão armazenadas nativamente no gpg-agent.

Alguém sabe como eu posso configurar globalmente env vars? Se eu configurá-los em todo o usuário em ~/.zshrc , o KeepassXC ainda iniciará o ssh-agent em paralelo com o gpg-agent e os adicionará ao ssh-agent do sistema, em vez de gpg-agent.

O objetivo final é desabilitar completamente o ssh-agent, certificando-se de que o KeePassXC não o iniciará, mas usará o gpg-agent.

Eu tentei definir variáveis env com 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

Parece bom, mas depois:

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

Portanto, parece que a variável definida com o launchd é ignorada ...

    
por Drew 06.06.2018 / 06:42

0 respostas