[困ったこと]
リモートリポジトリを操作しようとすると「Permission denied (publickey)」エラーになる
[解決策]
remote.origin.urlを正しく設定する
コマンドラインでGithubを操作していました。Android Studioからプラグインで操作できるので便利だと思い使ってみましたが最初にエラーで困った件です。
手順通りにGithubでトークンを発行しAndroid Studioに設定。特に難しいことは無さそうです。ところがAndroid Studioからリモートリポジトリを操作しようとするとエラーになります。
エラー
git@github.com: Permission denied (publickey).
トークンの再発行、gitのやり直し...何回やっても同じ。もう諦めようかと思った時ふと疑問が。そもそもこのエラーは公開鍵認証のsshログイン時によく見るもの。Android Studioはどこからユーザー名を持って来るのか。どうやってGithubに接続するのか。Android StudioのGithubの設定にはありません。またGithubをアクセスするurlもどこから持って来るのか。と言うことはgitの設定から持ってくるのでしょう。
gitの設定確認
git config --list
問題はremote.origin.urlでした。
私は元々Githubにssh+公開鍵でログインして操作していました。このためssh用の設定が保存されていました。これをhttps用に書き換えたら上手く行きました。
設定は下記コマンドで行いました。
gitの設定
git config --edit