Pousser vers Git retourner le Code d'erreur 403 fatal: échec de la requête HTTP
j'ai pu cloner une copie de ce rapport sur HTTPS authentifié. J'ai fait quelques propagations et je veux repousser vers le serveur GitHub. Utiliser Cygwin sous Windows 7 x64.
C:cygwinhomeXPheriorCodelunch_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
l'a aussi configuré avec le mode verbose. Je suis encore assez perplexe.
C:cygwinhomeXPheriorCodelunch_call>set GIT_CURL_VERBOSE=1
C:cygwinhomeXPheriorCodelunch_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
ce sont les versions de Git et curl que j'ai:
C:UsersXPherior>git --version
git version 1.7.4.msysgit.0
C:UsersXPherior>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
30 réponses
j'ai juste eu le même problème et trouvé ce qui la cause.
Github semble ne supporte ssh façon de lire et écrire le repo, bien que https façon aussi affiché "Lire Et Écrire".
donc vous avez besoin de changer votre configuration repo sur votre PC à SSH way:
- modifier
.git/config
fichier sous votre repo répertoire - trouver "151910920 entrée" dans la section
[remote "origin"]
- remplacer
url=https://MichaelDrogalis@github.com/derekerdmann/lunch_call.git
parurl=ssh://git@github.com/derekerdmann/lunch_call.git
. c'est, changer tous les textes avant@
symbolessh://git
- Enregistrer
config
le fichier et quittez. maintenant, vous pouvez utilisergit push origin master
pour synchroniser votre repo sur GitHub
pour être sûr de pouvoir se connecter en utilisant le protocole https
, vous devez d'abord définir votre authentification au git Remote URI :
git remote set-url origin https://yourusername@github.com/user/repo.git
alors on vous demandera un mot de passe en essayant de git push
.
en fait, c'est sur le format d'authentification http. Vous pouvez aussi définir un mot de passe:
https://youruser:password@github.com/user/repo.git
Vous devez être conscient que si vous ne ceci, votre mot de passe github sera stocké en clair dans votre .git directory, ce qui est évidemment indésirable.
Un petit plus de Sean réponse .
au lieu d'éditer le fichier .git/config
manuellement, vous pouvez utiliser la commande git remote set-url
.
Dans votre cas, il devrait être:
git remote set-url origin ssh://git@github.com/derekerdmann/lunch_call.git
je trouve ça plus facile et plus propre que de jouer avec des fichiers.
Modifier .git/config
fichier sous votre repo répertoire
trouver url=
rubrique sous la rubrique [remote "origin"]
Changer de url=https://github.com/rootux/ms-Dropdown.git
https://USERNAME@github.com/rootux/ms-Dropdown.git
où USERNAME
est votre nom d'utilisateur github
les autres réponses qui suggèrent de passer à SSH sorte de manquer le but. HTTPS est supporté, mais vous devez vous connecter avec votre mot de passe GitHub, pas votre mot de passe SSH (ce qui était ce qui me donnait exactement la même erreur).
j'avais le même problème, mais en m'assurant d'utiliser mon vrai mot de passe GitHub à l'invite terminal password, j'ai corrigé la solution sans modifier la configuration, ou en recourant à SSH.
la raison pour laquelle il est important A noter que de nombreuses institutions publiques (comme mon école) vont bloquer SSH, mais autoriser HTTPS (qui est la seule raison pour laquelle j'ai commencé à cloner sur HTTPS en premier lieu).
Espère que ça aide quelqu'un d'autre ayant le même problème...
même erreur et résolution sur Mac OS X.
tout fonctionnait bien jusqu'à ce que je crée un nouveau compte sur GitHub et essayé de pousser
$ git push -u origin master
et a obtenu l'erreur:
remote: Permission to NEWUSER / NEWREPO.git refusé à OLDUSER. fatal: impossible d'accéder à https://github.com/NEWUSER/NEWREPO.git / ': L'URL demandée erreur retournée: 403
il aurait dû être corrigé en définissant l'utilisateur.nom soit pour global soit pour repo actuel
$ git config –-global user.name NEWUSER
$ git config user.name NEWUSER
mais ce n'est pas le cas.
Je l'ai fait corriger en supprimant le OLDUSER associé à GitHub de L'application D'accès de porte-clés sous la section Mots de passe. Puis la commande push a eu du succès.
$ git push -u origin master
je pense que @deepwaters a obtenu la réponse correcte pour les versions plus anciennes. L'URL HTTPS doit avoir le nom d'utilisateur. J'avais git 1.7.0.4 et git push origin master
ne voulait même pas demander un mot de passe jusqu'à ce que je l'ai ajouté.
cela fonctionne pour moi -:
git remote set-url origin https://username@github.com/user/repo.git
j'Espère que ça aide
Mise à niveau de votre git. GitHub a répondu à cette question à https://help.github.com/articles/error-the-requested-url-returned-error-403 .
un code 403 est "interdit". Le serveur vu votre demande et l'a refusé. Avez-vous l'autorisation de pousser à ce référentiel?
j'avais en fait une solution très simple à cela. Tout ce que j'ai fait c'est éditer le fichier de configuration git différemment après avoir cloné le dépôt. L'url d'origine distante est ce que vous avez besoin de modifier dans votre fichier par défaut config . Il devrait ressembler à vu ci-dessous
[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
L'a compris. J'ai cloné sur HTTPS. Mettre en place mes clés publiques SSH, cloner sur SSH, et pousser sur SSH réparé.
ajoutez simplement votre nom d'utilisateur dans une url comme celle-ci : https://islam9@github.com/islam9/bootstrap-rtl
s'il vous plaît vérifier: http://islamkhalil.wordpress.com/2012/12/06/github-error-pushing-to-git-returning-error-code-403-fatal/
- Cliquez sur le référentiel
- Sur le côté droit, cliquez sur "Paramètres",
- sur le panneau d'option côté gauche, cliquez sur "collaborateurs "
- ajouter le nom de la personne que vous connaissez dans GitHub
- Cliquez Sur "Ajouter Collaborateurs"
après cela notre "Push to Git" a bien fonctionné.
si vous utilisez windows, parfois cela peut se produire parce que Windows stocke les justificatifs d'identité pour la pension externe (dans notre cas github) dans son propre stockage. Et les justificatifs d'identité qui y sont enregistrés peuvent être différents de ceux dont vous avez besoin en ce moment.
donc pour éviter ce problème, il suffit de trouver github dans ce stockage et supprimer les informations d'identification sauvegardées. Après cela, tout en poussant git demandera vos références et vous permettent de pousser.
Pour quiconque est curieux, mon ordinateur mac vs lucide vm couru git 1.7.6 vs 1.7.0.4, et exactement le même repo a été états à partir de mon mac (version plus récente git), mais pas la VM
même version bouclée. Peut-être que certaines versions plus anciennes de git ne prennent pas en charge les pushes https?
j'ai fait face à la même erreur et la cause était stupide - je n'avais pas les privilèges de commit to selected repository. Je ne savais pas que je
- fourche projet sélectionné en premier
- dépôt clone Local
- valider mes modifications localement
- pousser des modifications à mon github clone
- demande de demande de pull en amont
comme décrit dans https://help.github.com/categories/63/articles
ajoute le nom d'utilisateur dans L'URL et cette erreur se produit parce que la commande git tape http au lieu de https. Ainsi défini l'url
git remote set-url origin https://<username>@github.com/Path_to_repo.git
après quoi on vous demandera le mot de passe:
ce qui a fonctionné pour moi:
Mon repo a été un fourche et encore liée à la les parents des pensions.
git remote -v
vous dira si c'est votre pension ou non.
git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git
vous permet de le reconfigurer à votre repo et vous permet ensuite de pousser.
pour ceux qui ont la permission refusée 403 erreur lors de l'utilisation SSH (selon Xiao ) ou http urls essayez ces commandes
>git config --global --unset-all credential.helper
>git config --unset-all credential.helper
avec droits d'administrateur
>git config --system --unset-all credential.helper
changer de
url=https://MichaelDrogalis@github.com/derekerdmann/lunch_call.git
à
url=ssh://git@github.com/derekerdmann/lunch_call.git
ça marche!
N'oubliez pas le" git "avant le"@".
j'ai trouvé ma propre variante de ce problème.
le problème n'était pas de changer le protocole de https à ssl, mais plutôt, configuration du nom d'utilisateur et du courriel GitHub global! (J'ai essayé de pousser pour une repository privé.
git config --global user.email "your_github_email_@email.com"
git config --global user.name "Your full name"
GitHub a page dédiée au dépannage de cette erreur:
https://help.github.com/articles/https-cloning-errors
Dans mon cas, il s'est avéré que l'utilisation d'une nouvelle version de git (1.8.5.2) a résolu ce problème.
j'ai eu ce problème à l'instant, et il s'est avéré que mon serveur /etc/résolveur.le fichier conf avait une mauvaise adresse ip. Peut aider les autres.
cela m'est arrivé parce que mon collègue a accidentellement désactivé le dépôt d'où ce dépôt était bifurqué. Pourrait vérifier pour s'assurer que l'original git(hub) pensions de en fait existe toujours.
il pourrait s'agir d'un problème de comptabilité. Le compte Github du propriétaire de la pension (privée) en amont peut ne pas être financier. J'ai vu ça là où la carte de crédit du client a expiré.
ce qui a fonctionné pour moi change de http en SSH:
git remote rm origin
git remote add origin git@github.com:username/repoName.git
puis vérifiez avec git remote -v
j'ai eu le même problème. Mon cas était: j'avais initialisé git repo localement avant de le créer sur github, puis j'ai essayé d'ajouter la branche distante. J'ai résolu mon problème en changeant l'ordre des actions: créé un repo github site, puis inited localement. Mais ce n'est pas le cas de ceux qui aiment faire tout depuis la ligne de commande en tant que moi.
après avoir changé https en http dans gitbox app, ça a marché pour moi.
parfois, il n'y a rien de mal avec les paramètres, et il y a quelques problèmes sur les serveurs github.
https://status.github.com - statut actuel de github :)