トップ «前日 最新 翌日» 編集
RSS feed

ただのにっき


2009-10-24(土) [長年日記]

「Permission denied (publickey).」と言われてGitHubが使えなくなった場合の対処法

もう10日前になるのだが、自宅のマシンでGitHubからpullしようとしたら、

% git pull
Permission denied (publickey).

と言われるようになってしまった。他のマシンからは問題なくpush/pullともにできるので、このマシンだけの問題なんだが、忙しかったこともあり、今日になってやっと対応。分散VCSだとどこで作業しても同じだから、危機感薄いなー(笑)。

で、GitHubにそのものずばりのドキュメントがある。ヘルプのTroubleshooting SSH issuesなのだが、ようするに「鍵を作り直せ」という乱暴なことが書いてある。おまえ、sshの鍵をそうホイホイと作り直していられるかっての*1

こういうことが堂々と書いてあるのだとしたら、今後もGitHubでは同じようなことが起きるかも知れない。その場合に、GitHub専用の鍵にしておかないと、面倒でしょうがない。というわけでそうする。id_dsa_githubというファイルで鍵を作って、github.comにアクセスするときにはそれを使わせる:

% ssh-keygen -t dsa -f ~/.ssh/id_dsa_github
% cat >> ~/.ssh/config
Host github.com
User git
IdentityFile ~/.ssh/id_dsa_github
^D

あとは~/.ssh/id_dsa_github.pubの中身をGitHubに設定しなおして、無事に使えるようになった。これで今後同じことが起きても、GitHub専用の鍵だけ変えればいいので、他のホストに影響が及ばない(はず)。

Tags: git

*1 ちなみに、この現象が発覚してすぐ、公開鍵をGitHubに再登録してみたが、効果はなかった。

本日のツッコミ(全4件) [ツッコミを入れる]
turutosiya (2010-12-01(水) 11:07)

GitHubでは現在はDSAは使えないようです。

turutosiya (2010-12-01(水) 11:13)

間違えました。RSAが駄目みたいでした。

wataru (2012-03-27(火) 22:23)

Typoです。
% ssh-keygen -t dsa -f ~/.ssh/id_dsa_guthub

% ssh-keygen -t dsa -f ~/.ssh/id_dsa_github
ですね。
github

configのIdentityFile節がファイルを参照できませんので注意です

ただただし (2012-03-27(火) 22:27)

おお、本当だ。どうもです。修正しておきました。


トップ «前日 最新 翌日» 編集
RSS feed