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.

5voto

Moosa Baloch Punkte 1165

Für diejenigen, denen die Genehmigung verweigert wurde 403 Fehler bei der Verwendung ssh (laut Xiao ) oder http urls Versuchen Sie diese Befehle

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

>git config --unset-all credential.helper

mit Administratorrechten

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

0 Stimmen

Jetzt wird Git jedes Mal nach Login und Passwort fragen. Speichern Sie sie durch git config --global credential.helper store .

5voto

CKM Punkte 1803

Keine der oben genannten Antworten hat bei meinem enterprise GitHub-Konto. Befolgen Sie diese Schritte für die Übertragung über die ssh-Schlüsselgenerierung.

Erstellen Sie ein Repo, indem Sie Ihr Git-Konto besuchen.

ssh-Schlüssel generieren:

ssh-keygen -t rsa -C "your_email@example.com"

Kopieren Sie den Inhalt der Datei ~/.ssh/id_rsa.pub zu Ihren SSH-Schlüsseln in den Einstellungen Ihres GitHub-Kontos. SSH-Schlüssel testen:

ssh -T git@github.com
clone the repo:
git clone git://github.com/username/your-repository

Wechseln Sie nun in Ihren Git-Clone-Ordner und führen Sie aus:

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

Versuchen Sie nun, eine Datei zu bearbeiten (versuchen Sie es mit der README) und tun Sie es dann:

git add -A
git commit -am "my update msg"
git push -u origin master

Update: Die neue Git-Version scheint zu empfehlen, keine Dateien zu haben, wenn ein neues Projektarchiv erstellt wird. Daher ein leeres Repository erstellen.

0 Stimmen

Diese Antwort hat mir geholfen, aber Sie müssen sicher sein, dass Ihre Schlüssel Standardnamen haben wie id_rsa y id_rsa.pub sonst erhalten Sie weiterhin die Fehlermeldung Permission denied (publickey,keyboard-interactive). fatal: The remote end hung up unexpectedly . Benennen Sie also entweder Ihren Schlüssel in den Standardnamen um oder verwenden Sie diese Antwort um zu klären, wie man einen benutzerdefinierten Pfad für den ssh-Schlüssel festlegt.

5voto

sailfish009 Punkte 2206

Wenn Sie einen 403-Fehler bei Github erhalten,

Stellen Sie sicher, dass Sie beim Erstellen des Tokens alle Kontrollkästchen aktivieren:

https://github.com/settings/tokens

Ich denke, dass die Github-Token-Generierungsseite einen Designfehler hat.

4voto

timxor Punkte 905

Das hat bei mir funktioniert:

Mein Repo war ein Gabel und immer noch mit dem Eltern-Repos verlinkt.

git remote -v

Er wird Ihnen sagen, ob es Ihr Repo ist oder nicht.

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

Ermöglicht Ihnen die Neukonfiguration für Ihr Repo und erlaubt Ihnen dann, es zu pushen.

3voto

Ausrada404 Punkte 409

Wenn SSH aus irgendeinem Grund nicht erlaubt ist, HTTPS ist auch in Ordnung .

Um die Übertragungen durch HTTPS sollten Sie die persönliches Zugangs-Token und stellen Sie sicher, dass die lesen und schreiben ist erhältlich in Scopes die den Zugang für persönliche Token festlegen.

Einstellung in GitHub wie folgt.

enter image description here

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