我们通过 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 安装它)