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 にデフォルトで含まれていません。homebrew でインストールできます)