GitHub:無効なユーザー名またはパスワード


402

GitHubでホストされているプロジェクトがあります。変更をマスターにプッシュしようとすると失敗します。常に次のエラーメッセージが表示される

Password for 'https://git@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://git@github.com/eurydyce/MDANSE.git/'

しかし、私のsshキーをgithubに設定しても問題ないようです。確かに、私がするとき私はssh -T git@github.com得る

Hi eurydyce! You've successfully authenticated, but GitHub does not provide shell access.

これは、その側からすべてが問題ないことを示しているようです(eurydyceが私のgithubユーザー名です)。私はgithubで与えられた指示と多くのスタックディスカッションの推奨事項に厳密に従いましたが、方法はありませんでした。私が間違ったことを何か知っていますか?


「正しい」(check by inspect element)パスワードを何度も試した後、github設定でパスワードを変更することでこのエラーメッセージを解決したため、回答を投稿する必要があるかどうかはわかりません。
フルーツ

回答:


274

https://git@github.com/eurydyce/MDANSE.gitはsshのURLではなく、httpsのURLです( ' git' ではなくGitHubアカウント名が必要です)。

使ってみるssh://git@github.com:eurydyce/MDANSE.gitgit@github.com:eurydyce/MDANSE.git

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

OPペレグリニエリックが追加されます。

それは私が私の中でやったことです ~/.gitconfig現在次のエントリを含むファイルでです[remote "origin"] url=git@github.com:eurydyce/MDANSE.git

これは、グローバル構成(の構成~/)には含めないでください。
あなたはgit config -lあなたのリポジトリをチェックインすることができます:そのURLはローカルで宣言されるべきです設定:<yourrepo>/.git/config

だから、あなたが行うときにレポパスにいることを確認してください git remote set-urlコマンドを。


オリバー回答で述べたように、以下の場合、HTTPS URLはユーザー名/パスワードを使用しません。 2要素認証(2FA)がアクティブ化されている。

その場合、パスワードはPAT(個人アクセストークン)である必要がありますコマンドラインでのトークンの使用」に示す。

これはHTTPS URLにのみ適用され、SSHはこの制限の影響を受けません。


おーっ!そうです、私のローカル構成でこれらの変更を行うと、すべてが機能します。どうもありがとう。
Eurydice 2015年

80
この答えをまったく理解しない
クラウド

1
@Clo確かに、どの部分が明確に欠けていますか、この答えをどのように改善できますか?
VonC

動作しないhttpsクローンリンクがありました。しかし、私はgit @ urlに置き換え、それが機能し始めました。これの理由は何でしょうか?Macキーチェーンからもgithubエントリをいくつか削除しました。それは関係がありますか?しかし、私はsshを介してキーを設定して使用していました。どんなポインタもこれで役に立ちます。
cg

1
@byronalticeこれがSSHの場合は、~/.ssh/configまたは%USERPROFILE%\.ssh\configファイルがあり、その中にgithub.comエントリがあります。
VonC

1011

2要素認証(2FA)を有効にした後、、、またはを使用しようとするgit clonegit fetch、次のように表示されることがあります。git pullgit push

$ git push origin master
Username for 'https://github.com': your_user_name
Password for 'https://your_user_name@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/your_user_name/repo_name.git/'

なぜこれが起こっているのか

GitHubのヘルプドキュメント

2FAを有効にした後、2FAコードとGitHubパスワードの代わりに個人用アクセストークンを入力する必要があります。

...

あなたのようなコマンドを使用して、コマンドラインでのGitを使用してリポジトリにアクセスする場合、例えばgit clonegit fetchgit pullまたはgit pushHTTPS URLでのユーザー名とパスワードの入力を求められたとき、あなたはあなたのGitHubのユーザー名とあなたの個人的なアクセストークンを提供する必要があります。コマンドラインプロンプトでは、パスワードを要求されたときに個人用アクセストークンを入力するように指定されていません。

それを修正する方法

  1. パーソナルアクセストークンを生成します。(コマンドライン用の個人用アクセストークンの作成に関する詳細ガイド)。
  2. パーソナルアクセストークンをコピーします。
  3. 試行したコマンドを再試行し、パスワードの代わりにパーソナルアクセストークンを使用します。

関連質問:https : //stackoverflow.com/a/21374369/101662


14
工藤と賛成票; 新しいトークンの生成は私が必要としたものです。また; 「コードのコピー」には追加の(無効な)文字が含まれていたため、手動で.... 20 [?]桁のランダムキーを入力する必要がありました。
th3byrdm4n

7
2要素認証を追加した後、これは私の問題でしたが、これは疑いましたが、これに関するドキュメントが不足していました。答えてくれてありがとう!
ポグリンディス16

11
@BeauSmith:それは、私たちが通常許可するよりもはるかに実質的な編集です。あなたは基本的にこの答えを完全に書き直しました。代わりに、独自の別の回答として投稿してください。また、誰かが基本的に答え全体を書き直したらどうしますか?
Martijn Pieters

8
レッツ・すべての決定がロールバックするか、ここ@Oliverによって決定されていないお許しください-完全に音引数のいずれかの方法があります
フレキソ

10
ここに編集者…質問者が意図したものとは少し異なる問題のためにこの答えを正しいとマークしている人(私のように)がこのページにアクセスしたようです。この解決策を探している他の人がそれを見つけられるように訴える。コミュニティにとってより良いものにしようとしています。😀
ボー・スミス

86

解決策:

  1. コントロールパネル
  2. 資格情報マネージャ
  3. ウィンドウ資格情報をクリックします
  4. Generic Credentialセクションには、git urlがあり、ユーザー名とパスワードを更新します
  5. Git Bashを再起動してクローンを試してください

4
会社のバージョンのgithubでこの問題が発生していました(ローカルのユーザー名/パスワードを使用しています)。このソリューションはそれを修正しました。
mkennedy 2018年

新しいウィンドウで、「Windows資格情報」または類似の言語を検索できます。結果がポップアップし、この解決策を試すことができます。
Charles Tempo

1
オンプレミスのgithubのための完璧なソリューション。企業はhttps
avi.elkharrat

56

私のように、パスワードを更新git pushしてこの問題が発生した場合は、非常に簡単な修正があります。

Macユーザーのみ。GitHubのOSXキーチェーンアクセスエントリを削除する必要があります。次のコマンドを実行することで、ターミナルから実行できます。

コマンドラインから資格情報を削除する

コマンドラインから、資格情報ヘルパーを直接使用して、キーチェーンエントリを消去できます。

これを行うには、次のコマンドを入力します。

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

# [Now Press Return]

成功した場合、何も出力されません。それが機能することをテストするには、GitHubからリポジトリを複製するか、私の場合のように前のアクションを再度実行しますgit push。パスワードの入力を求められた場合は、キーチェーンエントリが削除されています。


2
Windowsの場合:git credential-wincred erase host = github.com protocol = https
Juan Uribe

BitBucketリポジトリでこの問題が発生しました。host=bitbucket.orgGitHubの代わりにこの答えは私のためにそれを修正しました。
gutch

26

使用する場合はhttps://、あなたのリモートリポジトリに接続するためのURLを、その後、Gitは認証としてSSHを使用しませんが、代わりにHTTPS経由で基本認証をしようとします。通常、ユーザー名なしでURLを使用するだけです。たとえばhttps://github.com/username/repository.git、Gitはユーザー名(GitHubユーザー名)とパスワードの両方を入力するように要求します。

を使用する場合https://something@github.com/username/repository.git、Gitが認証に使用するユーザー名を事前に設定していますsomething。を使用したためhttps://git@github.com、Gitはgitもちろんパスワードが機能しないユーザー名を使用してログインしようとします。したがって代わりにユーザー名を使用する必要があります

代替手段は、実際には認証にSSHを使用することです。そうすれば、常にパスワードを入力する必要がなくなります。すでに動作しているように見えるので、それを使用する必要があります。

これを行うには、リモートURLを変更する必要があります。これにより、GitはSSH経由で接続する必要があることを認識します。フォーマットは次のとおりgit@github.com:username/repositoryです。URLを更新するには、次のコマンドを使用します。

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

コマンドを実行しようとすると、次のメッセージが表示されますwarning: remote.origin.url has multiple values。これは、値が含まれている〜/ .gitconfigファイルにリモートタグが既にあることが原因である可能性があります[remote "origin"] url=git@github.com:eurydyce/MDANSE.git
エウリュディケ2015年

18

もう一度ブランチにプッシュしてみてください。これにより、ユーザー名とパスワードが再度要求されるので、変更したパスワードを入力できます。新しいパスワードが再びキャッシュに保存されるようにします。


4
なぜこれが反対票を投じたのかわかりません。私の場合、資格情報が更新されており、2番目のgit push質問では、この回答が示すように適切な更新を求められました。
デジタルトラウマ

確かに、あなたが何を意味するのか、それは新しい資格情報の実行を求めているわけではありませんgit push origin master...
Betlista

13

git pullまた試す代わりにgit pull origin master

パスワードを変更したところ、最初のコマンドでエラーが発生しました。

$ git pull
remote: Invalid username or password.
fatal: Authentication failed for ...

git pull origin master、パスワードを要求し、自分自身を更新したようです


7

パーソナルアクセストークンの生成に依存して、パスワードの代わりにパーソナルアクセストークンを使用する必要はありません。

クイックフィックスは、リモートURLをsshnot を指すように設定することhttpsです。

これを行う git remote set-url origin git@github.com:username/repository


5

bitbucketからアプリをクローンしているときにこれを取得しています:

Cloning into 'YourAppName'...
Password for 'https://youruser id': 
remote: Invalid username or password

解決しました。ここで、ユーザーIDのパスワードを作成する必要があります

  1. プロファイルと設定をクリックします プロファイルと設定をクリックします

  2. 次に、アプリのパスワードを作成し、名前を選択してパスワードを生成し、そのパスワードを端末に貼り付けます アプリのパスワードを作成する


4

githubで2要素認証を無効にすることでうまくいきました。

削除の理由が「質問に回答しない」であるという、削除された回答があることがわかります。それがうまくいけば、私はそれが質問に答えると思います...


これは奇妙です。同じことが私にも起こりました。私は2要素認証を無効にしただけで、現在は機能しています。:)
abhijeetps

これは2020年6月の時点で私には有効です。ありがとうございます。
Gcamara14

4

やった:

$git pull origin master

次に、[ユーザー名]と[パスワード]を要求しましたが、現在は正常に動作しているようです。


これでうまくいきました。私はプルの代わりにフェッチを使用しましたが、とにかくそれは問題ではありません。涼しい!
atereshkov

2

この状況でこのエラーメッセージが表示された場合:

  • 起業にgithubを使用
  • credential.helper = wincredを使用するgit configで
  • 最近変更したWindows資格情報を使用する

次に、この答えを見てくださいhttps : //stackoverflow.com/a/39608906/521257

Windowsは、資格情報を資格情報マネージャーに保存、クリア、または更新します。


1

パスワードを更新したため、このエラーが発生している可能性があります。したがって、ターミナルでは、まずキーチェーンからGitHubの認証情報をクリアしてから、変更をリポジトリにプッシュすると、ターミナルがユーザー名とパスワードを要求します。


1

同じ問題がありました。そして、クライアントアプリのリポの設定でリモートブランチのパスをからhttps://github.com/YourName/RepoNameに変更することで解決しgit@github.com:YourName/RepoName.gitました。



0

おそらくアカウントで2FAを有効にしておく必要があるので、sshキーを設定できます。これにより、Githubに作業をプッシュするたびにGithubの認証情報を入力する必要がなくなります。

すべてのsshセットアップ手順はドキュメントに記載されています。まず、現在、sshキー(id_rsa.pubなど)がないことを確認します。$ ls -al ~/.ssh


-1
  1. コントロールパネル
  2. 資格情報マネージャ
  3. オプションのWebクレデンシャルとWindowsクレデンシャルを探します
  4. どちらでも、github資格情報が正しい資格情報で修正されます
  5. git bashの新しいインスタンスを開くと、gitコマンドを実行できるはずです。

これでうまくいき、リモートリポジトリにプルアンドプッシュできました。



-3

この解決策は私にとってうまくいきました:

  1. コントロールパネルを開く
  2. 資格情報マネージャーに移動
  3. ウィンドウ資格情報をクリックします
  4. Generic Credentialセクションには、git urlがあり、ユーザー名とパスワードを更新します
  5. Git Bashを再起動してクローンを試してください

1
この回答は、役に立たない既存の回答と重複しています。十分な評判がある場合(15、私はそう思います)、役立つと思う回答に投票できます。この重複した回答を追加するのではなく、投票が正しい回答になります。
AdrianHHH
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.