
Quiero usarlo gpg-agent
en lugar de ssh-agent
en MacOS High Sierra. Para lograr esto necesito establecer globalmente dos variables de entorno:
GPG_TTY=$(tty)
SSH_AUTH_SOCK=${HOME}/.gnupg/S.gpg-agent.ssh
Esto es necesario para almacenar las frases de contraseña para las claves de autenticación gpg Y para mis claves ssh.
Quiero este tipo de configuración para poder usar KeePassXC con su función de integración de ssh-agent, de modo que todas las frases de contraseña aleatorias para mis claves ssh se almacenen allí y se agreguen a gpg-agent (en lugar de ssh-agent) cuando la base de datos de KeePassXC sea desbloqueado. Por otro lado, las frases de contraseña para mis claves de autenticación gpg se almacenarán de forma nativa en gpg-agent.
¿Alguien sabe cómo puedo configurar globalmente env vars? Si los configuro para todo el usuario en mi ~/.zshrc
, KeepassXC aún inicia ssh-agent en paralelo con gpg-agent y los agrega al ssh-agent del sistema en lugar de gpg-agent.
El objetivo final es deshabilitar completamente ssh-agent, asegurándose de que KeePassXC no lo inicie, sino que utilice gpg-agent en su lugar.
Intenté configurar variables env con 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
Se ve bien, pero luego:
$ echo $SSH_AUTH_SOCK
/private/tmp/com.apple.launchd.IjNASGcnxM/Listeners
Entonces parece que la variable establecida con launchd se ignora...