Yo soy el almacenamiento de contraseñas (por ejemplo, para los servidores de correo remotos) en mi llavero. Desde la línea de comandos, cuando inicie sesión localmente, puedo recuperar a estos 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 pueden ser alcanzados cuando se ejecuta de forma remota (ssh ing en el cuadro de algún 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>
Por otra parte, el valor de retorno del último comando (con-g) es de 36.
He vertido la salida de set
a partir de un inicio de sesión local y lo comparó con un control remoto
uno, y la falta de variables de entorno son:
Apple_PubSub_Socket_Render
GPG_AGENT_INFO
SECURITYSESSIONID
TERM_PROGRAM
TERM_PROGRAM_VERSION
TERM_SESSION_ID
XPC_FLAGS
XPC_SERVICE_NAME
Lo que me estoy perdiendo? Tengo SSH_AUTH_SOCK
ajustado a un valor válido (devuelto
de ssh-agent
).