web-dev-qa-db-ja.com

エラーコード403を返すGitへのプッシュ致命的:HTTPリクエストが失敗しました

認証済みのHTTPSを介してこのレポのコピーを複製することができました。いくつかコミットをしたので、GitHubサーバーにプッシュアウトしたいと思います。 Windows 7 x 64でCygwinを使用する。

C:\cygwin\home\XPherior\Code\lunch_call>git Push
Password:
error: The requested URL returned error: 403 while accessing https://MichaelDrog
[email protected]/derekerdmann/lunch_call.git/info/refs

fatal: HTTP request failed

冗長モードでも設定します。私はまだかなり困惑しています。

C:\cygwin\home\XPherior\Code\lunch_call>set GIT_CURL_VERBOSE=1

C:\cygwin\home\XPherior\Code\lunch_call>git Push
Password:
* Couldn't find Host github.com in the _netrc file; using defaults
* About to connect() to github.com port 443 (#0)
*   Trying 207.97.227.239... * 0x23cb740 is at send pipe head!
* Connected to github.com (207.97.227.239) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: C:\Program Files (x86)\Git/bin/curl-ca-bundle.crt
  CApath: none
* SSL connection using AES256-SHA
* Server certificate:
*        subject: 2.5.4.15=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1.
3.6.1.4.1.311.60.2.1.2=California; serialNumber=C3268102; C=US; ST=California; L
=San Francisco; O=GitHub, Inc.; CN=github.com
*        start date: 2011-05-27 00:00:00 GMT
*        expire date: 2013-07-29 12:00:00 GMT
*        subjectAltName: github.com matched
*        issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert High Ass
urance EV CA-1
*        SSL certificate verify ok.
> GET /derekerdmann/lunch_call.git/info/refs?service=git-receive-pack HTTP/1.1
User-Agent: git/1.7.4.3282.g844cb
Host: github.com
Accept: */*
Pragma: no-cache

< HTTP/1.1 401 Authorization Required
< Server: nginx/1.0.4
< Date: Thu, 15 Sep 2011 22:44:41 GMT
< Content-Type: text/plain
< Connection: keep-alive
< Content-Length: 55
< WWW-Authenticate: Basic realm="GitHub"
<
* Ignoring the response-body
* Expire cleared
* Connection #0 to Host github.com left intact
* Issue another request to this URL: 'https://[email protected]/dereker
dmann/lunch_call.git/info/refs?service=git-receive-pack'
* Couldn't find Host github.com in the _netrc file; using defaults
* Re-using existing connection! (#0) with Host github.com
* Connected to github.com (207.97.227.239) port 443 (#0)
* 0x23cb740 is at send pipe head!
* Server auth using Basic with user 'MichaelDrogalis'
> GET /derekerdmann/lunch_call.git/info/refs?service=git-receive-pack HTTP/1.1
Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
User-Agent: git/1.7.4.3282.g844cb
Host: github.com
Accept: */*
Pragma: no-cache

< HTTP/1.1 401 Authorization Required
< Server: nginx/1.0.4
< Date: Thu, 15 Sep 2011 22:44:41 GMT
< Content-Type: text/plain
< Connection: keep-alive
< Content-Length: 55
* Authentication problem. Ignoring this.
< WWW-Authenticate: Basic realm="GitHub"
* The requested URL returned error: 401
* Closing connection #0
* Couldn't find Host github.com in the _netrc file; using defaults
* About to connect() to github.com port 443 (#0)
*   Trying 207.97.227.239... * 0x23cb740 is at send pipe head!
* Connected to github.com (207.97.227.239) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: C:\Program Files (x86)\Git/bin/curl-ca-bundle.crt
  CApath: none
* SSL re-using session ID
* SSL connection using AES256-SHA
* old SSL session ID is stale, removing
* Server certificate:
*        subject: 2.5.4.15=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1.
3.6.1.4.1.311.60.2.1.2=California; serialNumber=C3268102; C=US; ST=California; L
=San Francisco; O=GitHub, Inc.; CN=github.com
*        start date: 2011-05-27 00:00:00 GMT
*        expire date: 2013-07-29 12:00:00 GMT
*        subjectAltName: github.com matched
*        issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert High Ass
urance EV CA-1
*        SSL certificate verify ok.
* Server auth using Basic with user 'MichaelDrogalis'
> GET /derekerdmann/lunch_call.git/info/refs HTTP/1.1
Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
User-Agent: git/1.7.4.3282.g844cb
Host: github.com
Accept: */*
Pragma: no-cache

* The requested URL returned error: 403
* Expire cleared
* Closing connection #0
error: The requested URL returned error: 403 while accessing https://MichaelDrog
[email protected]/derekerdmann/lunch_call.git/info/refs

fatal: HTTP request failed

これらは私が持っているgitとcurlのバージョンです。

C:\Users\XPherior>git --version
git version 1.7.4.msysgit.0

C:\Users\XPherior>curl --version
curl 7.21.7 (AMD64-pc-win32) libcurl/7.21.7 OpenSSL/0.9.8r zlib/1.2.5
Protocols: dict file ftp ftps Gopher http https imap imaps ldap pop3 pop3s rtsp
smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate Largefile NTLM SSL SSPI libz
583
Mike

私はちょうど同じ問題を抱え、そして何が原因なのかを考え出したところです。

Githubはリポジトリを読み書きするssh方法しかサポートしていないようですが、httpsは「読み書き」も表示します。

だからあなたはあなたのPC上のあなたのリポジトリ設定をssh方法に変更する必要があります。

  1. リポジトリディレクトリの.git/configファイルを編集します。
  2. セクションurl=の下に[remote "Origin"]entryを見つける
  3. url=https://[email protected]/derekerdmann/lunch_call.gitからurl=ssh://[email protected]/derekerdmann/lunch_call.gitに変更してください。つまり、@シンボルの前のすべてのテキストをssh://gitに変更します。
  4. configファイルを保存して終了します。 git Push Origin masterを使ってGitHub上のレポを同期することができます
786
Xiao

httpsプロトコルを使用して確実にログインできるようにするには、最初に 認証資格情報 をgit Remote URIに設定する必要があります

git remote set-url Origin https://[email protected]/user/repo.git

それからgit Pushを試みるときパスワードを頼まれる。

実際、これはhttp認証フォーマットです。パスワードも設定できます。

https://youruser:[email protected]/user/repo.git

あなたがこれをするならば、あなたのgithubパスワードはあなたの.gitディレクトリに平文で保存されることに注意するべきです、それは明らかに望ましくありません。

391
Thiago Macedo

Sean's answer への1つの小さな追加。

手動で.git/configファイルを編集する代わりに、git remote set-urlコマンドを使用することができます。

あなたの場合それはあるべきです:

git remote set-url Origin ssh://[email protected]/derekerdmann/lunch_call.git

ドットファイルをいじってみるよりも、簡単でわかりやすいと思います。

106
fetsh

リポジトリディレクトリの.git/configファイルを編集します。

セクションurl=の下で[remote "Origin"]エントリを探す

url=https://github.com/rootux/ms-Dropdown.gitからhttps://[email protected]/rootux/ms-Dropdown.gitに変更してください

USERNAMEはあなたのgithubユーザー名です。

53
Gal Bracha

SSHへの切り替えを提案する他の答えは、その点を見逃しています。 HTTPSはサポートされていますが、SSHパスフレーズではなくGITHUBパスワードでログインする必要があります(これは私と同じ正確なエラーを与えていたものでした)。

私は同じ問題を抱えていましたが、端末のパスワードプロンプトで実際のGitHubパスワードを使用するようにして、設定を変更せずに、またはSSHに頼ることなく解決策を修正しました。

これに注意することが重要な理由は、私の学校のような多くの公的機関がSSHをブロックしますがHTTPSを許可するということです(これが私が最初にHTTPS上でクローンを作成し始めた唯一の理由です)。

誰もが同じ問題を抱えているのに役立ちます願っています...

42
BMB

Mac OS Xでの同じエラーと解像度

GitHubで新しいアカウントを作成してプッシュしてみた

$ git Push -u Origin master

エラーが発生しました:

remote:NEWUSER/NEWREPO.gitに対する許可がOLDUSERに対して拒否されました。致命的:「 https://github.com/NEWUSER/NEWREPO.git/ 」にアクセスできません:要求されたURLがエラーを返しました:403

グローバルまたは現在のレポジトリにuser.nameを設定することで修正されているはずです。

$ git config –-global user.name NEWUSER
$ git config user.name NEWUSER

しかし、そうではありませんでした。

GitHubに関連付けられたOLDUSERをキーチェーンアクセスアプリの[パスワード]セクションから削除することで修正されました。その後、Pushコマンドは成功しました。

$ git Push -u Origin master

参照

25
zeeawan

私は@deepwatersが古いバージョンに対して正しい答えを得たと思います。 HTTPS URLにはユーザー名が必要です。私はgit 1.7.0.4を持っていました、そして私がそれを追加するまでgit Push Origin masterはパスワードさえ要求しませんでした。

17
nisah

これは私のために働きます -

git remote set-url Origin https://[email protected]/user/repo.git

それが役に立てば幸い

16
stevensagaar

Gitをアップグレードしてください。 GitHubは https://help.github.com/articles/error-the-requested-url-returned-error-403 でこの質問に回答しました。

13
gsf

Windowsを使用している場合は、Windowsが外部レポジトリ(この場合はgithub)の認証情報を独自のストレージに格納していることが原因で起こることがあります。そしてそこに保存した資格情報は、今必要なものとは異なる可能性があります。

enter image description here

そのため、この問題を回避するには、このストレージでgithubを見つけて、保存されている資格情報を削除してください。この後、gitを押している間あなたの資格情報を要求しますansはあなたがプッシュすることを可能にします。

10
Andrew Gans

403コードは「禁止」です。サーバーはあなたの要求を見てそれを拒否しました。そのリポジトリにプッシュする権限がありますか?

9
Nick Veys

私は実際にこれを非常に簡単に修正しました。リポジトリのクローンを作成した後に行ったのは、git設定ファイルの編集方法が違うだけです。リモートのOriginのURLは、デフォルトの config ファイルで編集する必要があるものです。以下のように見えるはずです

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "Origin"]
    fetch = +refs/heads/*:refs/remotes/Origin/*
    url = https://*username*@github.com/*username*/*repository*.git
[branch "master"]
    remote = Origin
    merge = refs/heads/master
9
larrytech

理解した。 HTTPSでクローンしました。私の公開SSHキーを設定し、SSHを介してクローンを作成し、SSHをプッシュすることでそれを修正しました。

7
Mike
  1. リポジトリをクリックしてください
  2. 右側にある「設定」をクリックしてください。
  3. 左側のオプションパネルで、[共同編集者]をクリックします。
  4. GitHubで知っている人の名前を追加
  5. [共同編集者を追加]をクリックします

この後、「Push to Git」はうまくいきました。

7
Krishna

ちょうどあなたのユーザー名を次のようにURLに追加してください: https://[email protected]/islam9/bootstrap-rtl

確認してください: http://islamkhalil.wordpress.com/2012/12/06/github-error-pushing-to-git-returning-error-code-403-fatal/

7
SMSM

ssh Xiao による)または http urlsを使用しているときにパーミッションを拒否されたユーザーが403エラーを拒否した場合これらのコマンドを試してください。

>git config --global --unset-all credential.helper

>git config --unset-all credential.helper

管理者権限を持つ

>git config --system --unset-all credential.helper
4
Moosa Baloch

一時的な修正のためにこれをしなさい

git Push -u https://username:[email protected]/username/repo_name.git master

3
x0v

から変更

url=https://[email protected]/derekerdmann/lunch_call.git 

url=ssh://[email protected]/derekerdmann/lunch_call.git

できます!

"@"の前に "git"を忘れないでください。

3
JimmyDong

私のenterprise GitHubアカウントでは上記の答えはどれもうまくいきませんでした。 SSHキー生成方法でプッシュするには、以下の手順に従ってください。

Gitアカウントにアクセスしてレポを作成してください。

SSHキーを生成します。

ssh-keygen -t rsa -C "[email protected]"

GitHubアカウント設定の〜/ .ssh/id_rsa.pubファイルの内容をSSHキーにコピーします。 SSHキーをテストします。

ssh -T [email protected]
clone the repo:
git clone git://github.com/username/your-repository

今あなたのgitクローンフォルダにcdしてください:

git remote set-url Origin [email protected]:username/your-repository.git

それではファイルを編集して(READMEを試してください)、それから:

git add -A
git commit -am "my update msg"
git Push -u Origin master

更新:新しいリポジトリが作成されている間、新しいgitバージョンはファイルを持たないことを推奨するようです。そのため、空のリポジトリを作成します。

3
chandresh

私にとってうまくいったこと:

私のレポは フォーク であり、それでも両親のレポとリンクしていました。

git remote -v

それがあなたのレポであるかどうかあなたに言うでしょう。

git remote set-url Origin https://github.com/USERNAME/OTHERREPOSITORY.git

リポジトリに再設定してからプッシュできるようにします。

3
Timothy Siwula

URLの一部としてユーザー名を追加すると、このエラーはgitコマンドがhttpsではなくhttpを押すために発生します。 URLを設定してください

git remote set-url Origin https://<username>@github.com/Path_to_repo.git

その後パスワードの入力を求められます。

3
venkat sam

好奇心旺盛な人のために、私のMacマシン対lucid vmは1.7.6対1.7.0.4のgitを走らせました、そして全く同じレポは私のMacから追いやることができました(新しいgit)がVM

同じカールバージョン。おそらく、いくつかの古いgitバージョンはhttpsプッシュをサポートしていませんか?

3
patcon

私は同じエラーに直面し、原因はばかげていた - 私は選択されたリポジトリにコミットする権限がありませんでした。私がする必要があることを知りませんでした

  1. 最初に選択したプロジェクトをフォークする
  2. クローンリポジトリをローカルに
  3. 自分の変更をローカルにコミットする
  4. 私のgithubクローンに変更をプッシュする
  5. 上流へのプルリクエスト

https://help.github.com/categories/63/articles に記載されているように

3
Leos Literak

私はこの問題の私自身の変化を考え出しました。

問題は、プロトコルをhttpsからsslに変更することではなく、Githubのグローバルユーザー名と電子メールアドレスを設定することでした。 (私はプライベートリポジトリにプッシュしようとしていました。

git config --global user.email "[email protected]"

git config --global user.name "Your full name"
2
Lucas Ou-Yang

Githubには、このエラーのトラブルシューティング専用のページがあります。

https://help.github.com/articles/https-cloning-errors

私の場合、gitの新しいバージョン(1.8.5.2)を使うことでこの問題を解決できたことがわかりました。

2
AndyL

私の同僚が誤ってこのリポジトリの分岐元であるリポジトリを無効にしたために、これが起こりました。元のgit(ハブ)リポジトリが実際にまだ存在していることを確認するためだけにチェックするかもしれません。

1
ftrotter

sshの代わりにhttpsを使ってクローンを作成することで、この問題は解決しました。

ssh cloning

1
kilojoules

それは会計の問題かもしれません。上流(個人)レポ所有者のGithubアカウントは金銭的なものではないかもしれません。クライアントのクレジットカードの有効期限が切れるところを見ました。

1
gnoll110

Gitboxアプリ内でhttpsを http に変更した後、私にとってはうまくいった。

1
Alex Stone

私にとってうまくいったのは、httpからsshへの変更です。

git remote rm Origin
git remote add Origin [email protected]:username/repoName.git

それからgit remote -vでそれをチェックしてください

1
Connor Leech

私を助けた唯一のものは、別の質問に対するこの答えです。

Gitの有名な「エラー:.gitへの許可がユーザーに拒否されました」 /

要約すると、あなたがWindowsを使っているのと同じであれば、 "Credential manager"を検索して開きます。そこに、あなたはあなたのGit信任状を見つけることができます。ユーザー名を変更します(これは他のものに変更したはずです)。

また、[コントロールパネル] - [ユーザーアカウント] - [資格情報マネージャ]の下にもあります。

1
WesternGun

私の場合、リポジトリに権限がないためにエラーが発生しました。

1
Sebastián Lara

同じ種類のエラーが発生しました。 403にアクセスできない。私の場合、これらの答えはどれもうまくいかなかった。だから私は以下を試してみました、それはうまくいった。

  1. Git configからuser.emailとuser.passwordを削除します。
  2. 保存した認証情報をKeychainから削除します。
  3. システムを再起動してください。
  4. 今すぐコードをプッシュ、あなたにユーザーに尋ねる/パス
  5. ユーザー/パスを与えることによって進みます。

コードは正常にプッシュされました

!マックOS!

1
name-it

設定に問題がないこともありますし、githubサーバーに問題があることもあります。

https://status.github.com - githubの現在のステータス:)

1
noisy

私は今この問題を抱えていました、そしてそれは私のサーバーの/etc/resolver.confファイルが間違ったIPアドレスを持っていることが判明しました。他人を助けるかもしれません。

1
RichardW11

私の場合、githubでの email IDがまだ確認されていないため、上記のエラーが発生していました 。 GitHubは未確認の電子メールについてこの警告を出していました。

電子メールを確認してからプッシュするとうまくいきました。

1
hitesh israni

私は同じ問題を抱えていました。私の場合は、githubで作成する前にローカルでgit repoを初期化してから、リモートブランチを追加しようとしました。私はアクションの順番を変えることで私の問題を解決しました。しかし、私のようにコマンドラインからすべてを実行したいのは、そうではありません。

1
Yauhen

私は以前に別のgithubユーザーとしてサインインしました(たとえばuser1)。私の実際のgithubアカウント(例えばuser2)では、新しく作成したリポジトリをgithubに複製することはできましたが、変更をプッシュすることはできませんでした。

Windows資格情報マネージャから資格情報を削除するなど、上記のすべての回答を試しましたが、うまくいきませんでした。

最後にうまくいったのは、github Windows Appを立ち上げることでした。 [設定] - > [オプション]に移動し、ログインしているユーザーがuser1であることを確認します。そのユーザーからログアウトをクリックし、この場合user2として必要なユーザーとしてログインします。

enter image description here

0
asolanki

プッシュエラー時にこのような403を解決するには、.gitディレクトリの設定ファイルに入って、次の行を変更する必要があります。

precomposeunicode = true
[remote "Origin"]
http://[email protected]:abc/xyz.git

行をこれに変更

precomposeunicode = true
[remote "Origin"]
ssh://[email protected]/abc/xyz.git

これで私の問題は解決しました。

0
rahul kumar

HTTPではなくSSHキーを使ってOriginを作成してください。

SSHキーの使用を開始できる場合は、URLは次のように始まります。

[email protected]:<YOUR REPO URL>

今、あなたはあなたの対応するブランチに追加、コミット、プッシュすることができます

0
KPavan Kumar

解決策のどれもあなたのために働かなかったら、すぐにこの答えを読んでください[あなたのケースかもしれません]:

私のような、これらすべての[すばらしい]答えを試したが、それでもまだコミットをプッシュするのに苦労している人のために、プッシュが失敗する理由がもう1つあります。

Gitリポジトリ(GitHub、BitBucketなど)がすべて問題ないか確認してください。私の場合、私の問題が何であるかを理解するために多くの時間を費やした後(PyCharmの新版のせいでさえ!:)レポと私は新しいコミットをプッシュすることができなかった理由です。そして、それはまさにあなたに同じエラーを得る原因となります(403:URLにアクセスできない)。

0
Pedram

これらのコマンドを実行してからリポジトリにプッシュするための十分な権限があることを確認してください

git config --global user.email youremail@domain.
git config --global user.name username
git config --global user.password yourpassword

これが誰かを助けることを願って

0
maheshmnj

ユーザーに書き込み権限を与えます。

アクセスを提供した後。一度コードを引っ張り、次にそれを押してください。

0
anil

リポジトリにアクセスできなかったプロキシがあるため、この問題が発生しました

C:\Users\YourUser\.gitconfig

でたらめプロキシを削除し、それが動作するはずです

enter image description here

その後、gitbashによるクローン作成を再試行してください

 git clone http://********************

enter image description here

もう1つ考えられる理由は、あなたが彼らの計画限度を超えたかもしれないということです。

この問題を解決してリポジトリへの書き込みアクセス権を回復するには、アカウントプランをアップグレードするか、一部の共同編集者を削除する必要があります。

0
Jacob Nelson

私はbitbucketで同じ問題を抱えていました、しかし、私は5分待って、そして次に私は再試行しました、そしてそれはうまくいっていました。プロバイダに問題がある可能性があります。

0
Promo

その他の理由でgithub.com上の電子メールの検証かもしれません

Github.comにログインしてメッセージがないか確認して、Eメールアドレスを確認してください。必要に応じて確認してください。

0
Denis

BitBucketを使用している場合、アカウントは以下の理由で読み取り専用モードになる可能性があります。

  • ストレージセグメントをアップグレードしているため、新しいデータを受け取ることができません。
  • 新しい書き込みを必要としない変更をロールアウトしています。
  • リポジトリの所有者は、より多くのユーザーを受け入れるためにアカウントをアップグレードする必要があります。

https://confluence.atlassian.com/display/BITBUCKET/Repositories+in+Read-Only+Mode

0
luckyape

リポジトリディレクトリの下の.git/configファイルを編集します。

[remote "Origin"]セクションの下のurl =エントリを探します

Url = https://github.com/rootux/ms-Dropdown.git から https://[email protected]/rootux/ms-Dropdown.git に変更します。

uSERNAMEはgithubのユーザー名です。

=>この解決策は私のために働きました。

0
Vinay Sikarwar

私はこれを教えてこの同じエラーで同じ問題を抱えていた

remote:user/repo.gitへの権限がuser2に拒否されました。

これに関する問題は、WindowsとMacでは、Githubへのキーパスをキャッシュに保存することです。

Macでこれを修正するには、これを実行するだけです。

git credential-osxkeychain erase

何もコンソールにプロンプ​​トを出しません。

それから、通常のプッシュをするだけで、Githubからユーザー名とパスワードをもう一度入力できるようになります。

git commit -m "First Commit"

ウィンドウを使用する場合は、上記の答えを参照してください。

0