我們使用 SSH 連接到 MAC 並執行一個包含以下行的腳本
security unlock-keychain -p XXX
但自從我們將機器更新到「macOS Sierra」後,我們收到了錯誤
security: SecKeychainUnlock <NULL>: The user name or passphrase you entered is not correct.
有任何想法嗎?
答案1
當您透過 SSH 連線時,看起來security
並不知道登入使用者的鑰匙圈:如果您發出命令security list-keychains
,您只會看到系統鑰匙串,而不是使用者的鑰匙圈。
您需要做的是指定要解鎖的鑰匙圈檔案:
security unlock-keychain -p XXX "keychain_path_here"
哪裡keychain_path_here
有類似的東西/Users/username/Library/Keychains/login.keychain-db
。
答案2
如果您不想在每次 ssh 進入電腦時指定要解鎖的鑰匙串,則可以建立 ssh 金鑰並將其複製到目標電腦:
ssh-keygen
ssh-copy-id [email protected]
將您的 ssh ID 複製到主機後,您將能夠解鎖您登入的使用者的預設登入鑰匙圈。如果您需要登入多個使用者帳戶,您可以為每個使用者使用 ssh-copy-id。
(預設情況下,ssh-copy-id 不包含在 macOS 中。您可以使用自製程式安裝它)