macOS Sierraをクリーンインストールして一から色々と設定をしている中で、ssh接続が以前のようにできなくなるというトラブルに見舞われました。

症状としては~/.ssh/configや秘密鍵のファイルはちゃんと存在していてパーミッションも間違ってないのに、ターミナルでssh接続を試みると「Enter passphrase for key ‘【秘密鍵のパス】’: 」というメッセージが返ってきて、毎回パスワードの入力が必要になるというもの。

Sierraにする前は確か最初の一回だけはパスワードが必要だったけど、それ以降はパスワードなしでログインできていたはずなのに……。毎回パスワード入力とか面倒なので色々調べたらこれSierraの仕様みたいです。

解決方法はconfigファイルにUseKeychain yesIdentityFile path-to-fileを追記すること。具体的には下記の通りに変更したら以後パスワードなしでログインできるようになりました。【】内は適宜変更してどうぞ。

変更前↓

Host 【ホスト名】
  HostName 【IPアドレス or ドメイン】
  User 【ユーザー名】
  Port 【ポート番号】
  IdentityFile 【秘密鍵のパス】

変更後↓

Host 【ホスト名】
  HostName 【IPアドレス or ドメイン】
  User 【ユーザー名】
  Port 【ポート番号】
  IdentityFile 【秘密鍵のパス】
  UseKeychain yes
  IdentityFile path-to-file

参考:macOS Sierra のSSH接続で、秘密鍵へのパスを覚えてくれない問題 - Qiita