macOS Sierraをクリーンインストールして一から色々と設定をしている中で、ssh接続が以前のようにできなくなるというトラブルに見舞われました。
症状としては~/.ssh/config
や秘密鍵のファイルはちゃんと存在していてパーミッションも間違ってないのに、ターミナルでssh接続を試みると「Enter passphrase for key ‘【秘密鍵のパス】’: 」というメッセージが返ってきて、毎回パスワードの入力が必要になるというもの。
Sierraにする前は確か最初の一回だけはパスワードが必要だったけど、それ以降はパスワードなしでログインできていたはずなのに……。毎回パスワード入力とか面倒なので色々調べたらこれSierraの仕様みたいです。
解決方法はconfigファイルにUseKeychain yes
とIdentityFile path-to-file
を追記すること。具体的には下記の通りに変更したら以後パスワードなしでログインできるようになりました。【】内は適宜変更してどうぞ。
変更前↓
Host 【ホスト名】
HostName 【IPアドレス or ドメイン】
User 【ユーザー名】
Port 【ポート番号】
IdentityFile 【秘密鍵のパス】
変更後↓
Host 【ホスト名】
HostName 【IPアドレス or ドメイン】
User 【ユーザー名】
Port 【ポート番号】
IdentityFile 【秘密鍵のパス】
UseKeychain yes
IdentityFile path-to-file