키 체인에 다양한 비밀번호 (예 : 원격 이메일 서버)를 저장하고 있습니다. 명령 행에서 로컬로 로그인하면 다음을 통해 검색 할 수 있습니다.
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>
그러나 원격으로 실행할 경우 결과를 얻을 수 없습니다 (다른 곳에서 상자로 sh).
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>
또한 -g를 사용하여 최종 명령의 반환 값은 36입니다.
set
로컬 로그인에서 출력을 덤프하여 원격 로그인과 비교했으며 누락 된 환경 변수는 다음과 같습니다.
Apple_PubSub_Socket_Render
GPG_AGENT_INFO
SECURITYSESSIONID
TERM_PROGRAM
TERM_PROGRAM_VERSION
TERM_SESSION_ID
XPC_FLAGS
XPC_SERVICE_NAME
내가 무엇을 놓치고 있습니까? 나는 한 않는다 SSH_AUTH_SOCK
(에서 반환 된 유효한 값으로 설정 ssh-agent
).