Estoy almacenando varias contraseñas (por ejemplo, para servidores de correo electrónico remotos) en mi llavero. Desde la línea de comandos, cuando inicie sesión localmente, puedo recuperarlos a través de:
security unlock-keychain ~/Library/Keychains/login.keychain
<enter password>
security find-internet-password -s smtp.gmail.com -a foo@gmail.com
<dumps keychain attributes, not including password>
security find-internet-password -s smtp.gmail.com -a foo@gmail.com -g
<dumps keychain attributes, including password>
Sin embargo, los resultados no se pueden lograr cuando se ejecuta de forma remota (enviando a la caja desde otro lugar):
security unlock-keychain ~/Library/Keychains/login.keychain
<enter password>
security find-internet-password -s smtp.gmail.com -a foo@gmail.com
<dumps keychain attributes, not including password>
security find-internet-password -s smtp.gmail.com -a foo@gmail.com -g
<nothing printed, to stdout or stderr>
Además, el valor de retorno del comando final (usando -g) es 36.
Volqué el resultado de set
un inicio de sesión local y lo comparé con uno remoto, y las variables de entorno que faltan son:
Apple_PubSub_Socket_Render
GPG_AGENT_INFO
SECURITYSESSIONID
TERM_PROGRAM
TERM_PROGRAM_VERSION
TERM_SESSION_ID
XPC_FLAGS
XPC_SERVICE_NAME
¿Qué me estoy perdiendo? He SSH_AUTH_SOCK
establecido un valor válido (devuelto desde ssh-agent
).