OSX Sierra 解鎖鑰匙圈在 ssh 內停止運作

OSX Sierra 解鎖鑰匙圈在 ssh 內停止運作

我們使用 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 中。您可以使用自製程式安裝它)

相關內容