Sto memorizzando varie password (ad esempio per server di posta elettronica remoti) nel mio portachiavi. Dalla riga di comando, quando accedo localmente, posso recuperarli tramite:
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>
Tuttavia, i risultati non possono essere raggiunti se eseguiti in remoto (come nella casella da qualche altra parte):
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>
Inoltre, il valore di ritorno del comando finale (usando -g) è 36.
Ho scaricato l'output di set
da un login locale e l'ho confrontato con uno remoto e le variabili di ambiente mancanti sono:
Apple_PubSub_Socket_Render
GPG_AGENT_INFO
SECURITYSESSIONID
TERM_PROGRAM
TERM_PROGRAM_VERSION
TERM_SESSION_ID
XPC_FLAGS
XPC_SERVICE_NAME
Cosa mi sto perdendo? Ho SSH_AUTH_SOCK
impostato un valore valido (restituito da ssh-agent
).