Sto memorizzando varie password (ad esempio per i server di posta elettronica remoti) nel mio portachiavi. Dalla riga di comando, dopo aver effettuato l'accesso localmente, posso recuperarli tramite:
security unlock-keychain ~/Library/Keychains/login.keychain
<enter password>
security find-internet-password -s smtp.gmail.com -a [email protected]
<dumps keychain attributes, not including password>
security find-internet-password -s smtp.gmail.com -a [email protected] -g
<dumps keychain attributes, including password>
Tuttavia, i risultati non possono essere raggiunti quando vengono eseguiti in remoto (ssh'ing in box da qualche altra parte):
security unlock-keychain ~/Library/Keychains/login.keychain
<enter password>
security find-internet-password -s smtp.gmail.com -a [email protected]
<dumps keychain attributes, not including password>
security find-internet-password -s smtp.gmail.com -a [email protected] -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 accesso locale e l'ho confrontato con un remoto
uno 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 manca? Ho SSH_AUTH_SOCK
impostato su un valore valido (restituito
da ssh-agent
).