828 Stimmen

Pushing zu Git mit Fehlercode 403 fatal: HTTP-Anfrage fehlgeschlagen

Ich war in der Lage, eine Kopie dieses Repos über HTTPS authentifiziert zu klonen. Ich habe einige Änderungen vorgenommen und möchte sie wieder auf den GitHub-Server übertragen. Mit Cygwin auf Windows 7 x64.

C:\cygwin\home\XPherior\Code\lunch_call>git push
Password:
error: The requested URL returned error: 403 while accessing https://MichaelDrog
alis@github.com/derekerdmann/lunch_call.git/info/refs

fatal: HTTP request failed

Richten Sie außerdem den ausführlichen Modus ein. Ich bin immer noch ziemlich verblüfft.

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://MichaelDrogalis@github.com/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
alis@github.com/derekerdmann/lunch_call.git/info/refs

fatal: HTTP request failed

Dies sind die Versionen von git und curl, die ich habe:

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

4 Stimmen

Sehen Sie sich den Kommentar an, der als Antwort veröffentlicht werden sollte. Ich habe es mit 1.7.1 zum Laufen gebracht, hatte auch das Problem mit der fehlenden Benutzer/Passwort-Eingabeaufforderung. Dank an stackoverflow.com/a/9575906/805284 ...

3 Stimmen

Prüfen, ob der Benutzer Lese-/Schreibzugriff auf das Repository hat

45 Stimmen

Fügen Sie in Zukunft nicht mehr "Authorization: Basic <stuff>" ein, wenn Sie Beispiele für http-Header anzeigen. Es ist einfach, das mit base64 zu dekodieren und dein Passwort zu bekommen. @mike: Wenn Sie Ihr Github-Passwort nicht geändert haben, seit Sie diese Frage gepostet haben, würde ich Ihnen empfehlen, dies zu tun.

0voto

anil Punkte 393

Ermöglichen Sie dem Benutzer Schreibzugriff.

Nachdem Sie den Zugang gewährt haben, ziehen Sie den Code einmal und drücken ihn dann.

0voto

KPavan Kumar Punkte 1

Versuchen Sie, Ihren Ursprung mit einem SSH-Schlüssel anstelle von HTTP zu erstellen.

Wenn Sie einen SSH-Schlüssel verwenden können, beginnt die URL mit:

git@github.com:<YOUR REPO URL>

Jetzt können Sie Ihren entsprechenden Zweig hinzufügen, übertragen und pushen

0voto

Gastón Saillén Punkte 10484

Ich hatte das gleiche Problem mit dem gleichen Fehler, der mir Folgendes mitteilte

entfernt: Berechtigung auf user/repo.git für user2 verweigert.

Das Problem dabei ist, dass auf Windows und Mac ein Schlüsselpfad zu Github im Cache gespeichert wird.

Um dies auf dem Mac zu beheben, gehen Sie wie folgt vor

git credential-osxkeychain erase

Auf der Konsole wird nichts angezeigt.

Dann machen Sie einfach einen normalen Push und es sollte Sie Ihren Benutzernamen und Ihr Passwort wieder von Github aus schreiben lassen.

git commit -m "First Commit"

Für Fensteranwendungen siehe Antworten oben ^ mit gespeicherten Anmeldeinformationen

0voto

asolanki Punkte 1263

Ich war zuvor als ein anderer Github-Benutzer angemeldet (z. B. Benutzer1). Für mein aktuelles Github-Konto (z. B. user2) konnte ich ein neu erstelltes Repo in Github klonen, aber ich war nicht

Ich habe alle oben genannten Antworten ausprobiert, einschließlich des Entfernens von Anmeldeinformationen aus dem Windows Credential Manager, aber nichts hat funktioniert.

Am Ende funktionierte es, indem ich die Windows-App von Github startete. Navigieren Sie zu Einstellungen->Optionen und voila, der eingeloggte Benutzer war user1. Klicken Sie auf Abmelden von diesem Benutzer und melden Sie sich als erforderlicher Benutzer an, in diesem Fall Benutzer2.

enter image description here

0voto

Pedram Punkte 2186

Wenn keine der Lösungen für Sie funktioniert hat, lesen Sie schnell diese Antwort [könnte Ihr Fall sein]:

Für diejenigen unter Ihnen, die wie ich all diese [großartigen] Antworten durchgegangen sind, aber immer noch Probleme haben, ihre Commits zu pushen, gibt es möglicherweise einen weiteren Grund für das Scheitern eines Pushs.

Überprüfen Sie Ihr Git-Repository (wo auch immer es sich befindet, GitHub, BitBucket, ...), um zu sehen, ob alles in Ordnung ist. In meinem Fall, nachdem ich viel Zeit damit verbracht habe, herauszufinden, was mein Problem ist (und sogar die neue Ausgabe von PyCharm dafür verantwortlich zu machen! :) ) habe ich festgestellt, dass ich einige dumme Dinge getan habe und mein BitBucket-Repository die 2GB-Grenze überschritten hat und automatisch zu einem Nur-Lese-Repository wurde, weshalb ich keine neuen Übertragungen vornehmen konnte. Und genau das führt dazu, dass du den gleichen Fehler bekommst (403: unable to access the URL.)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X