OSX Sierra unlock-keychain 在 ssh 中停止工作

OSX Sierra unlock-keychain 在 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。

(默认情况下,macOS 不包含 ssh-copy-id。您可以使用 homebrew 安装它)

相关内容