💳

gitでSSH認証済みなのに急にusernameとpasswordを聞かれるようになった話

2022/09/28に公開

GitHubでリポジトリを作成し、ローカルの既存ファイルをアップしようとしたらusernameとpasswordを聞かれ、入力すると下記のメッセージが。当然アップもできない。

terminal
git push -u origin main

Username for 'https://github.com':
Password for 'https://git remote rm origin@github.com':

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.

原因

セットアップのコードコピペ時にhttps接続にしていたから

なんだそんなことかよ!と思いSSHに切り替えてコピペするも、解消されない。

解決方法

コマンドを変えても解消されないのは通信がHTTPSのままだから。
SSHの設定に戻す作業が必要。

Terminal
# 現在の通信を確認
git remote -v

# https通信になっていることが確認できる
origin  https://github.com/△△××/◯◯△△.git (fetch)
origin  https://github.com/△△××/◯◯△△.git (push)

# 通信をSSHに変更
git remote set-url origin git@github.com:

# 再度確認し、SSH通信になっていればOK
git remote -v
origin  git@github.com: (fetch)
origin  git@github.com: (push)

このあと再pushを試みるもremote origin already existsってエラーも出てしまったので下記の作業も追加。

Terminal
# 既存originを削除
git remote rm origin

# originを再登録
git remote add origin git@github.com:USERNAME/REPO_NAME.git

結論

地味にめんどくさいので、コピペするときはちゃんと確認しましょう。

参考記事

大変助かりました🙏ありがとうございました
https://qiita.com/non0311/items/03e3e7a042f70f072286
https://qiita.com/hatorijobs/items/1cae1946656ece954c63

Discussion