MacターミナルでGithubにプッシュする際に毎回パスフレーズを聞かれる時の対処法

Advertisement

Enter passphrase

久々にGithubのリポジトリにローカルのリポジトリをプッシュしようと思ったら、プッシュするたびにパスフレーズを聞かれるようになってしまいました。なんでかなぁと思って調べてみたら、どうやらmacOSのアップデートでキーチェーンからSSHのパスフレーズを読み込まなくなってしまったようです。

Githubへのpushに限らず、SSHでリモートサーバに接続する際に毎回パスフレーズを聞かれるようになった場合にも当てはまるはずです。

以下、解決方法を見つけたので忘れないようにメモっておきます。

キーチェーンからパスフレーズを読み込む設定

~/.ssh/configファイルに、以下を記述することで解決しました。

Host *
UseKeychain yes

僕の場合、configファイルが存在しなかったので、新しく作成しました。

この問題が発生した時の状況

git remote -vコマンドでリモートへのアクセス設定を確認すると、SSHで接続するように設定されているのが確認できます。

% git remote -v
origin    git@github.com:rriver/library.git (fetch)
origin    git@github.com:rriver/library.git (push)

この状態でgit pushのコマンドを打つと「パスフレーズを入れろ」と怒られます。2回目から聞かれなくなるのかと思ったら、毎回聞かれます。

% git push -u origin master
Enter passphrase for key '/Users/username/.ssh/id_rsa':

毎回パスフレーズを入れなきゃいけないのは面倒ですよね。ということで、さっきのconfigファイルの設定をしたらパスフレーズを聞かれなくなりました。ちなみに、Macを再起動しても大丈夫でした。

参考にさせてもらったサイトでは、以下のコマンドでも解決できた方がたくさんいたみたいです。たぶん、public keyを設定した際の状況などで解決方法も変わってくるのだと思います。

ssh-add -K ~/.ssh/id_rsa

環境

念のためハードとソフトのざっくりとした環境を書いておきます。

  • MacBook Pro (Mid 2014)
  • macOS Sierra (バージョン 10.12.4)
  • iTerm2 Build 3.0.15
  • brew版のopensshではない

参考サイト

以下のサイトを参考にさせていただきました。

以上、同じ問題で困っている方の参考になれば幸いです。Happy githubing!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です