Tôi đang lưu trữ các mật khẩu khác nhau (ví dụ cho các máy chủ email từ xa) trong móc khóa của tôi. Từ dòng lệnh, khi đăng nhập cục bộ, tôi có thể truy xuất chúng qua:
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>
Tuy nhiên, kết quả không thể đạt được khi chạy từ xa (ssh'ing vào hộp từ nơi khác):
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>
Hơn nữa, giá trị trả về của lệnh cuối cùng (sử dụng -g) là 36.
Tôi đã kết xuất đầu ra set
từ một thông tin đăng nhập cục bộ và so sánh nó với một điều khiển từ xa và các biến môi trường bị thiếu là:
Apple_PubSub_Socket_Render
GPG_AGENT_INFO
SECURITYSESSIONID
TERM_PROGRAM
TERM_PROGRAM_VERSION
TERM_SESSION_ID
XPC_FLAGS
XPC_SERVICE_NAME
Tôi đang thiếu gì? Tôi đã SSH_AUTH_SOCK
đặt thành một giá trị hợp lệ (được trả về từ ssh-agent
).