Нажатие на Git возвращает код ошибки 403 фатальный: HTTP-запрос не удался

я смог клонировать копию этого РЕПО через аутентификацию HTTPS. Я сделал несколько коммитов и хочу вернуться на сервер GitHub. Использование Cygwin в Windows 7 x64.

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

30 ответов


Я просто получил ту же проблему и просто понял, в чем причина.

Github, похоже, поддерживает только ssh-способ чтения и записи РЕПО, хотя https-способ также отображается "чтение и запись".

поэтому вам нужно изменить конфигурацию РЕПО на вашем ПК на ssh:

  1. редактировать .git/config файл в каталоге РЕПО
  2. найти url= запись в разделе [remote "origin"]
  3. изменить url=https://[email protected]/derekerdmann/lunch_call.git to url=ssh://[email protected]/derekerdmann/lunch_call.git. то есть, изменить все тексты перед @ символ ssh://git
  4. сохранить config файл и выход. теперь вы можете использовать git push origin master синхронизировать РЕПО на GitHub

чтобы наверняка сможете войти, используя https протокол, вы должны сначала установить учетные данные для проверки подлинности в ГИТ удаленный URI:

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

тогда вам будет предложено ввести пароль при попытке git push.

фактически, это в формате аутентификации http. Вы также можете установить пароль:

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

вы должны знать ,что если вы это сделаете, ваш пароль github будет храниться в открытом тексте в вашем.мерзавец каталог, что явно нежелательно.


одно небольшое дополнение к Шона!--5-->.

вместо редактирования .git/config файл вручную, вы можете использовать .

в вашем случае это должно быть:

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

Я нахожу это проще и чище, чем возиться с точечными файлами.


редактировать .git/config файл в каталоге РЕПО

найти url= запись в разделе [remote "origin"]

изменить url=https://github.com/rootux/ms-Dropdown.git в https://[email protected]/rootux/ms-Dropdown.git

здесь USERNAME - это имя пользователя на GitHub


другие ответы, которые предлагают переключиться на SSH, пропускают точку. HTTPS поддерживается, но вы должны войти в систему с паролем GITHUB, а не с вашей парольной фразой SSH (которая давала мне ту же самую ошибку).

У меня была та же проблема, но убедившись, что мой фактический пароль GitHub в приглашении пароля терминала исправил решение без изменения конфигурации или обращения к SSH.

причина, по которой важно отметить это, является много государственные учреждения (например, моя школа) будут блокировать SSH, но разрешать HTTPS (что является единственной причиной, по которой я начал клонирование по HTTPS в первую очередь).

надеюсь, что это поможет кому-то еще с той же проблемой...


та же ошибка и разрешение на Mac OS X.

все работало нормально, пока я не создал новая учетная запись на GitHub и попытался оттолкнуть

$ git push -u origin master

и получил ошибку:

remote: разрешение NEWUSER / NEWREPO.git отказал OLDUSER. фатально: невозможно получить доступ'https://github.com/NEWUSER/NEWREPO.git/': запрошенный URL-адрес возвращает ошибку: 403

он должен быть исправлен путем установки пользователь.имя глобального или текущего РЕПО

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

но этого не произошло.

я исправил это, удалив OLDUSER, связанный с GitHub из приложения Keychain Access в разделе Пароли. Затем команда push прошла успешно.

$ git push -u origin master

ссылка


Я думаю, что @deepwaters получил правильный ответ для более старых версий. URL HTTPS должен иметь имя пользователя. У меня был git 1.7.0.4 и git push origin master даже не просил пароль, пока я не добавил его.


это работает для меня:

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

надеюсь, что это помогает


обновите свой git. GitHub ответил на этот вопрос в https://help.github.com/articles/error-the-requested-url-returned-error-403.


код 403 "запрещено". Сервер увидел ваш запрос и отказался. У вас есть разрешение на доступ к этому хранилищу?


У меня на самом деле было очень простое исправление. Все, что я сделал, это отредактировал файл конфигурации git по-другому после клонирования репозитория. Удаленный исходный 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

разобрался. Я клонировал HTTPS. Настройка моих открытых ключей SSH, клонирование по SSH и нажатие на SSH исправили его.


просто добавьте имя пользователя в url-адрес, как это : https://[email protected]/islam9/bootstrap-rtl

пожалуйста, проверьте: http://islamkhalil.wordpress.com/2012/12/06/github-error-pushing-to-git-returning-error-code-403-fatal/


  1. нажмите на свой репозиторий
  2. С правой стороны нажмите "Настройки"
  3. на левой боковой панели параметров нажмите "сотрудники"
  4. добавить имя человека, которого вы знаете в GitHub
  5. Нажмите "Добавить Сотрудников"

после этого наш "толчок к Git" работал нормально.


Если вы используете windows, иногда это может произойти, потому что Windows хранит учетные данные для внешнего репозитория (в нашем случае github) в своем собственном хранилище. И учетные данные, сохраненные там, могут отличаться от тех, которые вам нужны прямо сейчас.

enter image description here

чтобы избежать этой проблемы, просто найдите github в этом хранилище и удалите сохраненные учетные данные. После этого при нажатии git будет запрашивать ваши учетные данные и позволит вам нажать.


для всех любопытных, моя машина mac против lucid vm запускала git 1.7.6 против 1.7.0.4, и точно такое же РЕПО было выталкиваемым с моего mac (более новый git), но не VM

та же версия curl. Возможно, некоторые старые версии git не поддерживают https-толчки?


Я столкнулся с той же ошибкой, и причина была глупой - у меня не было привилегий для фиксации в выбранном репозитории. Я не знал, что должен ... --1-->

  1. вилка выбранный проект первый
  2. клонировать репозиторий локально
  3. зафиксировать мои изменения локально
  4. нажмите изменения в моем клоне github
  5. запрос-запрос к вышестоящему

как описано в https://help.github.com/categories/63/articles


добавьте имя пользователя как часть URL-адреса, и эта ошибка происходит, потому что команда git нажимает http вместо https. Поэтому установите url

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

после чего вам будет предложено ввести пароль:


что сработало для меня:

мое РЕПО было вилки и все еще связан с РЕПО родителей.

git remote -v

скажет вам, является ли это вашим РЕПО или нет.

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

позволяет перенастроить его на ваше РЕПО, а затем позволить вам нажать.


для тех, кто имеет доступ запрещен 403 ошибка при использовании ssh(по Сяо) или http URL-адреса попробуйте эти команды

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

>git config --unset-all credential.helper

С правами администратора

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

изменить

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

to

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

это работает!

Не забудьте "git " перед"@".


я выяснил свой собственный вариант этой проблемы.

проблема заключалась не в изменении протокола с https на ssl, а вместо этого, настройка глобального имени пользователя и электронной почты Github! (Я пытался подтолкнуть к частное хранилище.

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

git config --global user.name "Your full name"

Github имеет страницу, посвященную устранению этой ошибки:

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

в моем случае оказалось, что использование новой версии git (1.8.5.2) решило эту проблему.


У меня была эта проблема прямо сейчас, и оказалось, что мой сервер / etc / resolver.файл conf имел плохой ip-адрес. Может помочь другим.


Это случилось со мной, потому что мой коллега случайно отключил репозиторий, из которого был разветвлен этот репозиторий. Просто можно проверить, действительно ли существует исходное репозиторий git(hub).


Это может быть бухгалтерская проблема. Счет GitHub владельца восходящего (частного) РЕПО может не быть финансовым. Я видел это, когда срок действия кредитной карты клиента истек.


то, что сработало для меня, меняется с http на ssh:

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

затем проверьте его с git remote -v


У меня была та же проблема. Мой случай был: я инициализировал git repo локально, прежде чем создать его на github, а затем попытался добавить удаленную ветку. Я решил свою проблему, изменив порядок действий: создал РЕПО на сайте github, а затем ввел его локально. Но это не тот случай, когда им нравится делать все из командной строки, как мне.


после изменения https на адресу http в приложении gitbox это сработало для меня.


иногда нет ничего плохого в настройках, и есть некоторые проблемы на серверах github.

https://status.github.com - текущее состояние github:)