致命的なGitエラー:認証に失敗しました


101

gitを使用してリポジトリをビジュアルスタジオチームサービスプロジェクトにプッシュしようとしていますが、エラーが発生します。

fatal: Authentication failed for (url of team project

私はコマンドを使用しています:

git remote add origin
     https://XXXXXXX.visualstudio.com/DefaultCollection/_git/project

git push -u origin -–all

これに対する修正について何か考えはありますか?

ありがとう!


1
どのように認証していますか?個人アクセストークン?代替アクセス資格情報?
Daniel Mann

回答:


195

最近同じ問題が発生しました(ビジュアルスタジオ2017とWindows 10)。次の方法で解決しました:

コントロールパネル->資格情報マネージャー-> Windows資格情報の管理-> gitリポジトリのエントリを選択し、ユーザーとパスワードを編集します。

できました。


1
この方法は、個人用アクセストークンの有効期限が切れたときに使用しました。<< URL >> / _ usersSettings / tokensに移動して新しいものを作成し、それを資格情報マネージャーでパスワードとして設定します。
Mienでさえ

34

GIT CLIを使用し、Visual StudioのビルドインGITラッパーとやり取りしない場合は、代替認証資格情報を有効にする必要があります

どうやって?

Open your account (VS Online account) 
-> click on your name on the top right 
-> My Profile
-> Credentials.

そしてそれを設定します。


ここに画像の説明を入力してください

ここに画像の説明を入力してください


4
セキュリティはメニューの別のアイテムになりました。プロファイルをクリックすると、非常に異なるページに移動します。
Lukos

2
バージョンによって異なる場合があります。これが私がスクリーンショットを追加した理由です
CodeWizard

1
私はこれをする必要がありませんでした。Git BashにPATを使用しても問題なく動作するようです。
Josh Gust

1
代替の認証情報の代わりにPATを使用してください。
エドワードトムソン

1
代替資格情報を有効にすることはお勧めしません。ドメイン資格情報はクリアテキストで送信され、アプリケーション層のIISログに記録される可能性があります
Giulio Vian

27

私は同じ問題に直面しました。エラー出力ウィンドウは次のようになります。 認証に失敗しました画像

手順に従って問題を解決しました:

  1. [コントロールパネル]-> [資格情報マネージャー]-> [Windows資格情報]に移動します
  2. Generic Credentialの下で、git&updateパスワードのエントリを選択します。

    ソリューションウィンドウ

  3. パスワードは、windows(system)ログインパスワードと同じである必要があります。


17

今日の最良のオプションは、VSO、GitHubをサポートし、毎月改善されているhttps://github.com/Microsoft/Git-Credential-Manager-for-Windowsをインストールすることです。


2
@dotnetdevこれは問題を解決するための推奨される方法であるため、この回答を受け入れてください。
デイラン

1
これはgithub.com/Microsoft/Git-Credential-Manager-for-Mac-and-Linuxでも MacとLinuxで利用できます。安全性の低い「代替認証情報」を追加する必要なく、完全に機能しました。
Breeno 2017年

1
これは、実際にマイクロソフトが提供した「事実上の」ソリューションです。ここで実際に機能する他のソリューションは、微調整と見なされます。
ステファン

11

VSTSではURLは次のとおりです。vtsからgit clone urlをコピーすると、常に取得されます

https:// orgname @ dev.azure.com / org / project / _git / repo

orgname @を、VSTS- >プロファイル-> Securityで作成した代替ユーザー名に置き換えます

最終的なgitのURL-

https:// alternateusername @ dev.azure.com / org / project / _git / repo


7

同じ問題がありましたが、Windows資格情報マネージャーを使用してパスワードを更新しようとしましたが、それでも問題は解決しませんでした

コントロールパネル->資格情報マネージャー-> Windows資格情報の管理-> gitリポジトリのエントリを選択し、ユーザーとパスワードを編集します。

次に、資格情報マネージャーのすべてのgit関連のエントリを削除し、Visual Studioを使用してGitを使用しようとしましたが、今回は新しい資格情報の入力を求められました


5

「.git / config」を削除して、再試行してください。これにより、一部のgit設定もリセットされる場合があります。

正しい資格情報を使用して、代わりの資格情報とパーソナルアクセストークンを何度も試しましたが、「致命的:認証に失敗しました」と何度も表示されます。

最後に、リポジトリのルートに「.git / config」という名前のファイルがあることがわかりました。このファイルを削除して資格情報をもう一度入力すると、うまくいきました。


3

VS2017からVSTS Gitリポジトリに変更をプッシュしようとすると、突然このエラーを受け取り始めました。この機能は前日に機能していました。

私はgit.logファイルをチェックし、別の例外を見ました:-

19:43:57.116665 ... zureAuthority.cs:184 trace:[ValidateCredentials] server returned: 'リモートサーバーに接続できません。

最新のGit CredentialManagerソースをGits Credential Managerリポジトリからダウンロードしてデバッグしました。

認証されると、次の例外が発生しました:-

ターゲットマシンが積極的に拒否したため、接続を確立できませんでした127.0.0.1:8888

私はその後、私は最近、セットアップフィドラーは、記事ごとにすべてのサービスのプロキシとして動作していたことに気づい-トラフィックから-.NET-サービス-と-シオマネキをキャプチャ

Fiddlerを実行すると、正常に接続できました。


3

私の解決策は少し異なっていて高速でした:)

  1. Windows資格情報([スタート]-> [Windows資格情報])に移動し、リポジトリの資格情報を削除します(git:xxxで始まります)
  2. VSCodeに移動し、ターミナルで次のように記述します。

    config credential.helper wincred

  3. Visual Studio(VSCodeなし)に移動し、git pullを実行します。資格情報を要求するポップアップが表示されます。リポジトリの認証情報を入力してください

  4. VSCodeに移動してgit pullを実行します。資格情報はwincredストアから自動的にフェッチされました

資格情報は自動的に作成され、wincredentialsに保存されるため、次回資格情報を要求されることはありません。(また、DevOpsがホストするgitリポジトリを使用している場合は、パーソナルアクセストークンがvisualstudio.comから提供されます)。


Start-> Windows Credentialsは魅力のように機能します!ありがとう!
Highriser

1

私はたくさんのオプションを試しましたが、私にとってうまくいったのは次のことでした:

  1. Git Password Managerをリリースセクション からダウンロードします。

  2. git fetch自動的にウィンドウ(たとえば、デフォルトのウィンドウ1の代替)を表示し、ユーザー名とパスワードの入力を要求するシンプルな操作を試みますが、標準の方法よりもエレガントな方法を使用します。

資格情報を正しく入力すると機能しましたが、以前はエラーが発生していました。

PS「Wrong Credentials」という種類のエラーが発生する場合は、リポジトリのユーザー名パスワードが正しいかどうかを常に確認してください。ためらう場合は、パスワードをリセットして、Git Password Managerウィンドウで同じパスワードを使用してみてください。


1

私はこの問題を抱えていて、Microsoftの技術者からの指示がそれを修正してくれました:

  • Visual Studioのすべてのインスタンスを閉じます。
  • タスクマネージャーを開き、TFSサービスが実行されているかどうかを確認します。それらのそれぞれを選択し、「プロセスツリーの終了」をクリックします。
  • 以下のフォルダーを参照し、%LocalAppData%\ Microsoft \ Team Foundation {version} \ Cacheのすべてのコンテンツとフォルダーを削除します
  • [コントロールパネル]-> [ユーザーアカウント]-> [資格情報の管理]-> [Windows資格情報]に移動し、VSTS URLを選択して削除します
  • 次に、「C:\ Users \ USER NAME \ AppData \ Local \ GitCredentialManager \ tenant.cache」に移動して削除します
  • また、「C:\ Users \ USER NAME \ AppData \ Local.IdentityService」に移動して削除します

1

Microsoft Credential Managerを使用できないLinuxユーザー向け。これは、sshを使用する以外に見つけた唯一のソリューションです。リポジトリビューで認証情報を生成する必要があります(下の画像を参照) git資格情報を取得する

そして結果は: Git資格情報の結果を取得する

パスワードをコピーしてください。Azure devopsはそれを保存せず、再び表示することはできません!

注意:2020現在、代替資格情報は無効になっています。Microsoftブログを確認してください


0

必要なのは正しい資格情報だけでした。Webアプリへの展開中に、展開センターの展開資格情報に移動する必要がありました。次に、アプリの認証情報を使用するか、ユーザーの認証情報を作成します。この後、ローカルマシン(Windows:コントロールパネル\ユーザーアカウント\資格情報マネージャー)のキャッシュされた資格情報を削除します。「git push webapp master:master」を再度実行し、いずれかのデプロイメント認証情報を入力します。これでうまくいきました。


0

Windowsと上司が別の場所にいて、紺碧のデボップを使用するように強制していて、SSHを使用したくない場合で、従来の方法を使用したい場合は、次のようにします。

「代替資格情報」を有効にする必要があります(私はそれが煩わしいことを知っています)、またはアクセストークンを作成する必要があります。この場合のアクセストークンの作成は、一時的なランダムパスワードに似ています。Windowsツールを使用する場合は、自動的に行われます。

いずれにせよSecurity、右上隅のプロファイルコンテキストメニューに移動します。

セキュリティ設定

次に、管理者権限を持つボス/マネージャー/デュードがあなたに有利な場合、「代替資格情報」が有効になります。それ以外の場合は、運命を受け入れて「個人アクセストークン」を生成します。

セキュリティ設定


0

セットアップには2〜5分かかります。

  • SSHキーを作成する(〜/ .ssh /)

ssh-keygen -C "jamal@fabrikam.com"

  • Azure DevOps Services / TFSに公開キーを追加する
  • SSHを使用してGitリポジトリのクローンを作成する

ソース


0

gitの認証と紺碧DevOpsチームサーバに苦労し、他の回答をしようとした後、この先端ここには私のために働きました。

Visual Studioを使用していますか?チームエクスプローラーがAzure Reposによる認証を処理します。

チームエクスプローラーを使用してリポジトリに接続したら、コマンドラインを使用してgitコマンドを実行できます。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.