HAM MEDIA MEMO

macOS Sierra の SSH で、秘密鍵のパスフレーズが Keychain 保存されない問題の解決方法

Mac の Keychain 保存を有効にするオプション

以前の検索時にそれっぽいことは書いていなかったけど、再度読んでみると、回答が投稿されていた。

difficulties with ssh-agent in macOS Sierra : osx

.ssh/config で以下のように設定

.ssh/config

AddKeysToAgent yes
UseKeychain yes

AddKeysToAgent は macOS Sierra の OpenSSH が 7.3 になったことによる変更。

しかし、この設定だけだと、前述の通りで再起動などで再入力を求められる。

重要なのは2行目の UseKeychain これを yes に設定しておく。

Mac の ssh_config

SSH の ssh_config には AddKeysToAgent についは書いていたけど、 UseKeychain にはオプションがない。しかし、Mac の ssh_config には記載があった。

man ssh_config mac OS 10.12.2 - 6e43ab17

Mac で $ man ssh_config と叩くと出て来る説明は以下の通り。

UseKeychain
On macOS, specifies whether the system should search for passphrases in the user's keychain when attempting to use a particular key. When the passphrase is provided by the user, this option also specifies whether the passphrase should be stored into the keychain once it has been verified to be correct. The argument must be ``yes'' or ``no''. The default is ``no''.

設定後に何も指定がないパターン、 AddKeysToAgent だけがあるパターン UseKeychain だけがあるパターン、 どちらも指定があるパターンを試して、後者2つが再起動をしても再入力求められずに接続ができたことを確認。

セキュリティ的には毎回入力したほうがいいのでしょうけど、やはり保持できていないと地味に不便だったので今回設定したことで今後は楽になることでしょう。

掲載写真

Photographer
PonkanBox
License
Creative Commons (BY-ND)