W moim pęku kluczy przechowuję różne hasła (np. Do zdalnych serwerów e-mail). Po zalogowaniu się z wiersza poleceń mogę je pobrać za pomocą:
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>
Jednak rezultatów nie można osiągnąć, uruchamiając zdalnie (ssh'ing do skrzynki z innego miejsca):
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>
Ponadto zwracana wartość końcowego polecenia (przy użyciu -g) wynosi 36.
Zrzuciłem dane wyjściowe set
z lokalnego logowania i porównałem je ze zdalnym, a brakujące zmienne środowiskowe to:
Apple_PubSub_Socket_Render
GPG_AGENT_INFO
SECURITYSESSIONID
TERM_PROGRAM
TERM_PROGRAM_VERSION
TERM_SESSION_ID
XPC_FLAGS
XPC_SERVICE_NAME
czego mi brakuje? Mam SSH_AUTH_SOCK
ustawioną prawidłową wartość (zwróconą z ssh-agent
).