Знаменитая ошибка в Git: «Отказано в разрешении пользователю .git» - PullRequest
100 голосов
/ 17 марта 2011

Я попробовал поискать в Google и прочитал http://help.github.com/troubleshooting-ssh/ и различные руководства.Я не могу набрать git push -u origin master или git push origin master (та же команда).

У меня был аккаунт git не менее 2 лет.Я успешно смог создать репозитории и push -u origin master отлично на моем ноутбуке, но на этом рабочем столе у ​​меня проблемы.

Вот что я попробовал:

1. Я настроил свое имя пользователя git

2. Я настроил свою электронную почту пользователя git

3. Я загрузил содержимоемой /home/meder/.ssh/id_rsa.pub на страницу аккаунта github.Я подтвердил, что не вставлял пробелы

4. Я создал ~ / .ssh / config со следующим содержимым:

  Host github.com
  User git
  Hostname github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa

Я chmodded.sh до 700, id_rsa 600

5. Я добавил правильный удаленный источник без опечаток : git remote add origin git@github.com:medero/cho.git

6. Чтобы подтвердить # 5, вот мой .git / config.Каталог правильный , а не другой каталог:

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git@github.com:medero/cho.git

7. ssh git@github.com -v дает мне успешную аутентификацию

8 Одна странность в том, что к имени пользователя, с которым он встречает меня, добавлено t.Моё имя пользователя на github medero, а не medert.

Привет, mederot!Вы успешно прошли аутентификацию, но GitHub не предоставляет доступ к оболочке.

9. Я не за прокси или брандмауэром

10. Ключ предлагается, вот вывод от -v:

debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /home/meder/.ssh/known_hosts:58
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/meder/.ssh/id_rsa
debug1: Remote: Forced command: gerve mederot
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: { some stuff, dont know if i should share it

debug1: Remote: Forced command: gerve mederot
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Authentication succeeded (publickey).

11. Вот команды, которые яused

mkdir cho
git init
touch README
git add README
git commit -m 'test'
git remote add origin git@github.com:medero/cho.git
git push -u origin master

12. Я не хочу создавать новый ключ SSH.

13. Если я получаю клон с помощью sshи сделать правку, фиксацию и толчок git, я получаю точно такую ​​же вещь.

14. Вот фактическая ошибка:

$ git push
ERROR: Permission to medero/cho.git denied to mederot.
fatal: The remote end hung up unexpectedly

15. Я настроил свое имя пользователя github и токен github:

$ git config --global github.user medero $ git config --global github.token 0123456789yourf0123456789token Устанавливает токен GitHub для всех экземпляров git в системе.

16. Я подтвердил, что мое имя пользователя github НЕ mederot, и мой токен github ПРАВИЛЬЕН для каждой страницы моего аккаунта (проверены первые 2 символа и последние 2 символа).

17. Для подтверждения # 16, ~ / .gitconfig содержит

[github]
    token = mytoken...
    user = medero

18. Я сделал ssh-key add ~/.ssh/id_rsa, если это даже необходимо...



ТЕОРИИ:

Я подозреваю, что есть что-то подозрительное, потому что когда я получаю ssh-аутентификацию, приветствие пользователя будет mederot, а не medero, что является моим актом.Возможно, что-то в моей учетной записи GitHub может быть неправильно кэшировано?

Я также подозреваю, что некоторые странные странности SSH-кэширования, потому что если я mv ~/.ssh/id_rsa KAKA и mv ~/.ssh/id_rsa.pub POOPOO, и делать ssh git@github.com -v, он все еще аутентифицирует меня и говорит, что он служитмой /home/meder/.ssh/id_rsa, когда я его переименовал ?!Это должно быть в кеше?!

Ответы [ 13 ]

0 голосов
/ 17 января 2019

Я столкнулся с этой ошибкой при использовании Travis CI для развертывания контента , что связано с передачей правок в репозиторий.

Я в конечном итоге решил проблему, обновив личный токен доступа GitHub , связанный с учетной записью Travis, с разрешением доступа public_repo scope:

imagepublic_repo">

0 голосов
/ 27 января 2018

Я тоже столкнулся с этим, что вызвало для меня то, что, клонируя репо, на который я отправлял свои изменения, я взял URL-адрес клона со вкладки инкогнито, не выполняя вход. (Я до сих пор не знаю, как это повлияет).Это по какой-то причине привело к выбору другой учетной записи пользователя.Когда я попробовал это снова с надлежащей авторизованной страницы, это работало как обычно для меня.

0 голосов
/ 24 июля 2015

Эта проблема также вызвана:

Если вы работаете в Mac / Linux и используете ControlMaster в вашем ~ / .ssh / config, возможно, запущены некоторые основные процессы управления ssh.

Чтобы найти их, запустите:

ps aux | grep '\[mux\]'

И убейте соответствующие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...