0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

社内proxy環境下においてGitlabでfetchやpullはできるけどcloneやpushができなくなってしまった際の解決方法

Last updated at Posted at 2019-04-02

前提

  • 社内のサーバにGitlabが乗っている(そのため今回の事象は少々特殊な状況であると言えます)
  • 直近でサーバのIPアドレスの付け替えが発生した
  • IPアドレスが変わって以降、fetchやpullはできるのにcloneやpushができなくなってしまった
  • 利用している端末はWindows10
  • 社内GitlabへのSSHでの接続は禁止されている
  • IP付け替え後、git remote set-url でリポジトリのURLは変更済

事象

社内サーバのGitlabに対して、pushやcloneを実行すると下記のエラーメッセージが表示され実行に失敗してしまう。
(前述の通りfetchやcloneは問題なし)

remote: HTTP Basic: Access denied
fatal: Authentication failed for 「リポジトリのURL」

見た感じ、リポジトリに対する権限不足や、fetch, pullはできるためURLのミスということではなさそう。
調べてみるとSSHに変えろという意見がちらほらありましたが、前提にある通りSSHでの接続は禁止されているため、それ以外の解決方法を模索することになりました。

解決方法

下記に解決方法がありました。
https://stackoverflow.com/questions/47860772/gitlab-remote-http-basic-access-denied-and-fatal-authentication

『Windowsの資格情報マネージャーから古い情報を消してみてくれ』という内容。
上記に従って、資格情報マネージャーを確認したところ古いIPアドレスの社内サーバGitlabの資格情報が残っていた。
社内サーバGitlabの資格情報をすべて消してみたところ、push, cloneが問題なくできるようになりました。

まとめ

解決してしまえばなんてことはない、資格情報マネージャー内の情報が混乱していたようです。
チーム内でWindows10端末を利用しているのは私ぐらいで、今回の事象が発生したのは私だけでした。
Windows7ではこの事象は起きないかもしれません。

今回はWindows10のお話でしたが、
Mac利用の方で同様の事象が発生した場合は、『KeychainAccess』を確認してみるといいかもしれません。

エラーメッセージでぐぐったら検索結果の上の方に出ていたけど、
英語が苦手すぎて気づけず2時間近くハマるという情けない結果に...
英語に拒否反応示したらだめですね。
あとちょうどエイプリルフールでStackoverflowのサイトがへんてこな表示になっていたのも...という言い訳です。

参考サイト

GitLab remote: HTTP Basic: Access denied and fatal Authentication
https://stackoverflow.com/questions/47860772/gitlab-remote-http-basic-access-denied-and-fatal-authentication

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?