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
541
demandé sur Mike 2011-09-16 02:45:59

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:

  1. modifier .git/config fichier sous votre repo répertoire
  2. trouver "151910920 entrée" dans la section [remote "origin"]
  3. remplacer url=https://MichaelDrogalis@github.com/derekerdmann/lunch_call.git par url=ssh://git@github.com/derekerdmann/lunch_call.git . c'est, changer tous les textes avant @ symbole ssh://git
  4. Enregistrer config le fichier et quittez. maintenant, vous pouvez utiliser git push origin master pour synchroniser votre repo sur GitHub
736
répondu Xiao 2013-01-08 23:25:49

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.

368
répondu Thiago Macedo 2014-01-28 00:32:40

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.

97
répondu fetsh 2017-05-23 11:47:32

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

USERNAME est votre nom d'utilisateur github

49
répondu Gal Bracha 2014-02-21 22:05:55

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...

41
répondu BMB 2012-01-17 17:27:28

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

référence

19
répondu zeeawan 2016-05-01 20:24:28

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é.

16
répondu nisah 2012-06-27 14:44:36

cela fonctionne pour moi -:

git remote set-url origin https://username@github.com/user/repo.git

j'Espère que ça aide

14
répondu stevensagaar 2015-12-17 21:56:04

Mise à niveau de votre git. GitHub a répondu à cette question à https://help.github.com/articles/error-the-requested-url-returned-error-403 .

11
répondu gsf 2012-06-20 19:03:40

un code 403 est "interdit". Le serveur vu votre demande et l'a refusé. Avez-vous l'autorisation de pousser à ce référentiel?

8
répondu Nick Veys 2011-09-16 00:32:12

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
8
répondu larrytech 2015-10-13 23:00:12

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é.

7
répondu Mike 2011-09-16 03:29:40
7
répondu SMSM 2012-12-06 18:37:21
  1. Cliquez sur le référentiel
  2. Sur le côté droit, cliquez sur "Paramètres",
  3. sur le panneau d'option côté gauche, cliquez sur "collaborateurs "
  4. ajouter le nom de la personne que vous connaissez dans GitHub
  5. Cliquez Sur "Ajouter Collaborateurs"

après cela notre "Push to Git" a bien fonctionné.

7
répondu Krishna 2016-09-02 00:31:16

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.

enter image description here

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.

6
répondu Andrew Gans 2018-04-18 07:34:40

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?

3
répondu patcon 2012-03-05 23:49:54

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

  1. fourche projet sélectionné en premier
  2. dépôt clone Local
  3. valider mes modifications localement
  4. pousser des modifications à mon github clone
  5. demande de demande de pull en amont

comme décrit dans https://help.github.com/categories/63/articles

3
répondu Leos Literak 2014-03-02 14:54:28

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:

3
répondu venkat sam 2016-03-05 15:11:27

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.

3
répondu Tim Siwula 2016-08-26 18:22:10

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
3
répondu Moosa Baloch 2017-05-23 12:10:45

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"@".

2
répondu JimmyDong 2012-10-18 01:16:36

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"
2
répondu Lucas Ou-Yang 2014-02-17 21:08:37

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.

2
répondu AndyL 2014-09-27 13:23:34

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.

1
répondu RichardW11 2012-08-29 11:57:46

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.

1
répondu ftrotter 2012-12-04 16:34:24

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é.

1
répondu gnoll110 2013-05-07 00:01:18

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

1
répondu Connor Leech 2014-01-22 09:59:17

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.

1
répondu Yauhen 2014-02-15 20:09:13

après avoir changé https en http dans gitbox app, ça a marché pour moi.

1
répondu Alex Stone 2014-03-10 19:13:44

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 :)

1
répondu noisy 2014-04-01 23:23:39