久々に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!
About the author

「明日のウェブ制作に役立つアイディア」をテーマにこのブログを書いています。アメリカの大学を卒業後、ボストン近郊のウェブ制作会社に勤務。帰国後、東京のウェブ制作会社に勤務した後、ウェブ担当者として日英バイリンガルのサイト運営に携わる。詳しくはこちら。
ウェブ制作・ディレクション、ビデオを含むコンテンツ制作のお手伝い、執筆・翻訳のご依頼など、お気軽にご相談ください。いずれも日本語と英語で対応可能です。まずは、Twitter @rriver またはFacebook まで。
コメントを残す