web-dev-qa-db-ja.com

GitHub認証がhttpsを介して失敗し、間違ったメールアドレスを返す

ユーザー名とパスワードを要求するコマンドラインから(sshではなくhttpsを介して)GitHubを使用してプッシュまたはその他のアクションを開始すると、失敗するだけでなく、戻ると戻ります

Username for 'https://github.com': username
Password for 'https://[email protected]': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/username/repository.git/'

@github.comアドレスがありません。パスワードとユーザー名は正しいです。

SSHに切り替えてキーを使用することはできますが、https経由で認証が失敗する理由には答えません。

115
ele

GitHubのサポートにより、問題の根本原因がすぐに特定されました。2要素認証。

Httpsを使用してシェルでGitHubを使用するには、 OAuthトークンを作成 。ページに記載されているように、キーチェーンからユーザー名とパスワードの資格情報を削除する必要がありましたが、osx-keychainが所定の場所にあると、トークンはパスワードとして保存され、2要素認証がなくてもhttpsの場合とまったく同じように機能します。

160
ele

@github.comアドレスがありません

する必要はありません:@は、username:passwordとドメインの間の区切り文字です。
これはメールアドレスではありません。

完全なGitHub https URLは次のとおりです。

https://username:[email protected]/username/reponame.git

パスワードがなければ(コマンドラインで要求されます)、次のようになります。

https://[email protected]/username/reponame.git

しかし、繰り返しますが、[email protected]は電子メールアドレスではなく、資格情報の最初の部分にすぎません。

usernamereponameの大文字と小文字が正しいことを確認してください: 大文字と小文字が区別されます

URLでクレデンシャルを明確にしたくない場合は、.netrc.gpg(またはWindowsでは_netrc.gpg)にクレデンシャルを保存および暗号化できることに注意してください。
https://githubを使用するときにパスワードの入力をスキップする方法はありますか 」を参照してください。

21
VonC
  • 資格情報マネージャーに移動=> Windowsマネージャー
  • Tfsに関連するすべてを削除します
  • をクリックして、一般的な資格情報を追加し、次の値を指定します

    (1)インターネットまたはネットワークアドレス:git: https://tfs.donamain name(2)ユーザー名:ユーザー名(3)パスワード:パスワード

    これで修正されるはずです

16
Oyebisi Jemil

以前に別の資格情報を保存した場合、Windowsで発生する可能性があります。 Credential Managerに移動し、保存されているgithub資格情報を削除します

9
Random

[Macのみ]

認証を削除する必要がある場合は、

git credential-osxkeychain erase
Host=github.com
protocol=https

macで。

https://help.github.com/articles/updating-credentials-from-the-osx-keychain/ を参照してください

8
Dan Rosenstark

これが他の人にも役立つことを念頭に置いて、私はmacアプリにサインインし、コマンドラインは正常に動作しましたが、2FAをオンにしたので、コマンドはエラーを返していました。アプリからサインアウトする必要がありました。その後、eleの答え here に従って、コマンドで個人用アクセストークンを使用できました。

うまくいけば、それは誰かを助ける!

5
Joel Balmer

Githubの双方向認証を有効にしたとき、同じことが起こりました。私が解決するためにしたこと:

  • 個人用アクセストークンを取得します。これは、まだ利用できない場合はチェックして生成する必要があります。このリンク: https://github.com/settings/tokens
  • ローカルに移動してフォルダーを削除し、githubからブランチを再クローンします。
  • ここで、以前に試行していたコマンド、つまりgit pull Origin masterを試行します
  • ユーザー名を入力し、パスワードにtokenを貼り付けます。また、トークンをどこかに保存することを忘れないでください。必要に応じて再利用できます。

これを行うと、問題が解決します。

4
palak