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

Advertisement

Enter passphrase

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

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

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

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

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

Host *
UseKeychain yes

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

※その後、またパスフレーズを聞かれるようになったことがあったので、その時の方法を以下に追加しておきました。

configファイルの追加で解決しない場合

上述したconfigでの設定が問題なさそうなのに、まだパスフレーズを聞かれる場合は、以下のコマンドでキーチェーンにパスフレーズを保存することで解決するようです。

ssh-add -K ~/.ssh/id_rsa

それでも解決しない場合は、GitHubヘルプ で説明されている手順を見直してみると良いかもしれません。

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

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を再起動しても大丈夫でした。

環境

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

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

その後、configの設定は問題なかったのですがパスフレーズを聞かれるようになったことがあったので、その時のハードとソフトの環境もメモっておきます。

  • MacBook Pro (2018)
  • macOS Catalina 10.15.5
  • iTerm2 Build 3.3.11beta1
  • brew版のopensshではない

参考サイト

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

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

更新情報

  • 「configファイルの追加で解決しない場合」セクションとGitHubのヘルプページへのリンクを追加しました(2020/06/04)

About the author

Rriverのステッカーが貼られたMacBookの向こうにいる自分のMemojiの似顔絵

「明日のウェブ制作に役立つアイディア」をテーマにこのブログを書いています。アメリカの大学を卒業後、ボストン近郊のウェブ制作会社に勤務。帰国後、東京のウェブ制作会社に勤務した後、ウェブ担当者として日英バイリンガルのサイト運営に携わる。詳しくはこちら

ウェブ制作・ディレクション、ビデオを含むコンテンツ制作のお手伝い、執筆・翻訳のご依頼など、お気軽にご相談ください。いずれも日本語と英語で対応可能です。まずは、Mastodon @rriver@vivaldi.net Twitter @rriver 、またはFacebook までご連絡ください。