12
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GithubにSSH接続できるのに、Git操作時にエラーが出る場合の確認ポイント

Last updated at Posted at 2022-07-04

最近新しいMacにしました。
移行アシスタントで丸ごとコピーしたのですが、なぜかgit pullができず困っていました。
しかしやっと原因が分かったので、メモを残します。

移行後いつも通りgit操作を行うとするとエラーになる。

$ git pull origin develop 
Username for 'https://github.com': tar-xzvff
Password for 'https://tar-xzvff@github.com': 
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/****/****.git/'

でもSSH接続はできる。

$ ssh -T git@github.com
Hi tar-xzvff! You've successfully authenticated, but GitHub does not provide shell access.

SSH公開鍵を登録し直したり、PATを再生成してMacに設定するも同じエラーが出続ける。

$ git pull origin develop 
Username for 'https://github.com': tar-xzvff
Password for 'https://tar-xzvff@github.com': 
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/****/****.git/'

確認&解決方法

remote urlを確認したところhttpsになっていた。

$ git remote -v
origin  https://github.com/****/****.git (fetch)
origin  https://github.com/****/****.git (push)

git remote set-urlコマンドでurlをsshに変更。
※GitHubのリポジトリのトップからgit cloneする時のsshのurlをコピペした方がお手軽です。

git remote set-url origin git@github.com:****/****.git

ワンライナーで行う場合は以下。

git remote --verbose | grep fetch | grep -Eo "http(s?)://(\w|:|%|#|\$|&|\?|\(|\)|~|\.|=|\+|\-|/)+" | sed -e 's/https:\/\//git@/g' | sed -e 's/\//:/' | xargs -L1 git remote set-url origin 

urlがsshになっていることを確認。

$ git remote -v
origin  git@github.com:****/****.git (fetch)
origin  git@github.com:****/****.git (push)

これでgit pullなど操作が今まで通りできるようになりました。
そもそも今までhttpsでなぜ操作ができていたのかはわからないですが、おそらく移行後のキーチェーンアクセス周りの設定が不十分だったのかなと思います。

めでたしめでたし 完

12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?