ユーザー名とパスワードを要求するコマンドラインから(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経由で認証が失敗する理由には答えません。
GitHubのサポートにより、問題の根本原因がすぐに特定されました。2要素認証。
Httpsを使用してシェルでGitHubを使用するには、 OAuthトークンを作成 。ページに記載されているように、キーチェーンからユーザー名とパスワードの資格情報を削除する必要がありましたが、osx-keychain
が所定の場所にあると、トークンはパスワードとして保存され、2要素認証がなくてもhttpsの場合とまったく同じように機能します。
@github.com
アドレスがありません
する必要はありません:@
は、username:passwordとドメインの間の区切り文字です。
これはメールアドレスではありません。
完全なGitHub https URLは次のとおりです。
https://username:[email protected]/username/reponame.git
パスワードがなければ(コマンドラインで要求されます)、次のようになります。
https://[email protected]/username/reponame.git
しかし、繰り返しますが、[email protected]
は電子メールアドレスではなく、資格情報の最初の部分にすぎません。
username
とreponame
の大文字と小文字が正しいことを確認してください: 大文字と小文字が区別されます 。
URLでクレデンシャルを明確にしたくない場合は、.netrc.gpg
(またはWindowsでは_netrc.gpg
)にクレデンシャルを保存および暗号化できることに注意してください。
「 https://github
を使用するときにパスワードの入力をスキップする方法はありますか 」を参照してください。
をクリックして、一般的な資格情報を追加し、次の値を指定します
(1)インターネットまたはネットワークアドレス:git: https://tfs.donamain name(2)ユーザー名:ユーザー名(3)パスワード:パスワード
これで修正されるはずです
以前に別の資格情報を保存した場合、Windowsで発生する可能性があります。 Credential Managerに移動し、保存されているgithub資格情報を削除します
[Macのみ]
認証を削除する必要がある場合は、
git credential-osxkeychain erase
Host=github.com
protocol=https
macで。
https://help.github.com/articles/updating-credentials-from-the-osx-keychain/ を参照してください
これが他の人にも役立つことを念頭に置いて、私はmacアプリにサインインし、コマンドラインは正常に動作しましたが、2FAをオンにしたので、コマンドはエラーを返していました。アプリからサインアウトする必要がありました。その後、eleの答え here に従って、コマンドで個人用アクセストークンを使用できました。
うまくいけば、それは誰かを助ける!
Githubの双方向認証を有効にしたとき、同じことが起こりました。私が解決するためにしたこと:
これを行うと、問題が解決します。