Подтвердить что ты не робот

GitHub: Permission denied (publickey). фатальный: удаленный конец неожиданно повесил трубку

Я выполнил следующие инструкции ниже, чтобы загрузить проект.

Глобальная настройка:

 Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email [email protected]
  Add your public key


Next steps:

  mkdir tirengarfio
  cd tirengarfio
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin [email protected]:tirenga/tirenga.git
  git push origin master

Но я получаю эту ошибку:

Отказано в доступе (публикация). со смертельным исходом: Удаленный конец неожиданно повесил трубку

4b9b3361

Ответ 1

Для меня проблема заключалась в выполнении клонирования через sudo.

Если вы клонируете каталог, в котором у вас есть пользовательские права (/home/user/ git), он будет работать нормально.

(Объяснение: Выполнение команды в качестве суперпользователя не будет работать с тем же открытым ключом, что и выполнение команды как пользователя. Поэтому Github отказался от соединения.)

Для этого решения требуется, чтобы уже был настроен ключ SSH: https://help.github.com/articles/generating-ssh-keys

Ответ 4

после того, как вы создали пару ключей RSA, вы должны добавить его в SSH, используя:

ssh-add ~/.ssh/id_rsa

или везде, где вы создали свою пару ключей rsa.

Ответ 5

Введите следующую команду, используя имя пользователя и имя репозитория:

git clone https://github.com/{user name}/{repo name}

в Ubuntu это работает отлично.

Ответ 6

Я получил решение после долгого времени в учебниках.

Я следил за учебником github по этой ссылке → https://help.github.com/articles/error-permission-denied-publickey, и я смог подключиться на каждом шагу. Но когда я пытался выполнить git push -u origin master, я получил эту ошибку:

Отказано в доступе (публикация). фатальный: не удалось прочитать с удаленного хранилище.

Пожалуйста, убедитесь, что у вас есть правильные права доступа

Вот как я это исправил! Перейдите в каталог проекта с помощью терминала и проверьте его

$git remote -v

Вы получите что-то вроде этого:

origin  ssh://[email protected]/yourGithubUserName/yourRepo.git (fetch)
origin  ssh://[email protected]/yourGithubUserName/yourRepo.git (push)

Если вы используете что-то другое, то git @github.com, откройте файл конфигурации в каталоге git, введя команду:

vi .git/config

И настройте строку

[remote "origin"]

url = ssh://[email protected]/yourGithubUserName/yourRepo.git

fetch = +refs/heads/*:refs/remotes/origin/

Ответ 7

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

Ответ 8

У меня была эта проблема, но ни одно из вышеперечисленных решений не работало. Я мог клонировать и получать, но не мог толкнуть. В конце концов, я понял, что проблема была в url в моем .git/config, она должна быть:

[email protected]:<username>/<project>

(не ssh://github.com/<username>/<project>.git или https://github.com/<username>/<project>.git).

Ответ 9

Учитывая, что ни один из ответов здесь не работал у меня, я, наконец, обнаружил, что проблема связана с Bitbucket (или Github, в данном случае это не имеет значения) с ssh -vT git @bitbucket.org.

В моем случае отказ произошел из-за использования ключа DSA вместо RSA, и, по-видимому, мой SSH-клиент больше не позволяет это.

debug1: пропустить ключ ssh-dss/c/Users/USER/.ssh/id_dsa для не в PubkeyAcceptedKeyTypes

Решение заключалось в том, чтобы добавить это в .ssh/config:

Host *
    PubkeyAcceptedKeyTypes +ssh-dss

Это элегантно добавляет тип ключа ssh-dss ко всем существующим общедоступным типам открытого ключа, и после этого git теперь может без проблем попасть в Bitbucket.

Ответ 10

Моя проблема заключалась в том, что каждый раз, когда я ввел ssh-keygen на мой Mac-терминал, я пытался указать свой ssh-ключ СПЕЦИФИЧЕСКОЕ ИМЯ.

Я решил проблему, просто оставив имя, которое "ssh-keygen" генерирует = id_rsa. В вашей папке .ssh у вас будет 2 ключа, id_rsa, который является вашим личным ключом, и id_rsa.pub, который является вашим открытым ключом. Затем я скопировал и сохранил код из id_rsa.pub в мои настройки учетной записи GitHub, и все. Проблема решена.

Ответ 12

Добавление открытого ключа - это решение. Для генерации ключей ssh: https://help.github.com/articles/generating-ssh-keys имеет пошаговые инструкции.

Однако проблема может сохраняться, если ключ не генерируется корректно. Я также нашел эту полезную ссылку: https://help.github.com/articles/error-permission-denied-publickey

В моем случае проблема заключалась в том, что я генерировал ssh-key без использования sudo, но при использовании команд git мне нужно было использовать sudo. Этот комментарий в приведенной выше ссылке "Если вы создаете ключи SSH без sudo, то при попытке использовать команду, например, sudo git push, вы не будете использовать созданный вами SSH-ключ". помог мне.

Итак, решение заключалось в том, что я должен был использовать sudo с командами генерации ключей и командами git. Или для других, когда они не нуждаются ни в каком судо, не используйте его ни в одном из двух шагов. (команды генерации ключей и git).

Ответ 13

У меня возникла аналогичная проблема при запуске SSH или Git Clone в Windows. Следующие результаты помогают решить мою проблему:

  • Когда вы запускаете "настройку rhc" или другие методы ssh для генерации ssh-ключа, он создаст файл id_rsa закрытого ключа в папке .ssh в вашей домашней папке, по умолчанию C:\User\UserID
  • Git для окон есть своя .ssh-папка в каталоге установки. Когда вы запустите git/ssh, он будет искать файл id_rsa частного ключа в этой папке
  • Решена проблема, скопировав id_rsa из папки homes.ssh в папку .ssh в каталоге установки Git

Кроме того, я думаю, что есть способ "сказать" Git использовать папку .ssh по умолчанию в домашней папке, но все равно нужно выяснить, как это сделать.

Ответ 14

Для меня это сработало вот так:

В GitHub я изменил ссылку ssh на https, а затем дал следующие команды:

$ git init
$ git remote add origin https:...
$ git add .
$ git commit -m "first commit"
$ git push origin master

Ответ 15

Использовать ubuntu в хранилище Windows

подсистема windows для linux

ваш git push будет работать через разные учетные записи.

Ответ 17

Быстрый способ исправить это, если вы используете Mac, - это выйти из приложения OSX и снова войти в систему.

Ответ 18

Моя проблема заключалась в том, что он не работал с парольной фразой на моем закрытом ключе.

Надеюсь, что это поможет кому-то.

Ответ 19

У меня также есть эта проблема сегодня. Решение устанавливает ваш "ssh key". Нажмите URL-адрес ниже, следуйте инструкциям, затем вы его просмотрите.

http://github.com/guides/providing-your-ssh-key

Ответ 20

Я попробовал упомянутые решения, но все еще не удалось. Я нашел решение, которое, наконец, сработало для меня здесь - удалив затем повторное добавление удаленной ссылки

Ответ 21

У меня была такая же проблема в Windows. Я переключился с SSH на HTTPS и запустил Git PUSH.

git push -u origin master
Username for 'https://github.com': <Github login email>
Password for <Github login>: xxx

Успешно! надеюсь, что это поможет.