Отказано в доступе (publickey) при развертывании кода героку. фатальный: удаленный конец неожиданно завис - PullRequest
844 голосов
/ 24 ноября 2010

Я пытаюсь развернуть свой код на heroku с помощью следующей командной строки:

git push heroku master

, но получаю следующую ошибку:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Я уже загрузил свой публичный SSHключ, но все равно появляется эта ошибка.

Ответы [ 34 ]

6 голосов
/ 21 ноября 2011

В Windows 7,64 бит, вышеупомянутое решение (Onur Turhan's) сработало для меня с небольшими изменениями, как показано ниже

C:\Users\MyName > heroku login

Введите адрес электронной почты / пароль

C:\Users\MyName >ssh-keygen -t rsa -f id_rsa

Это сгенерировало двафайлы (id_rsa и id_rsa.pub) в моем каталоге c: \ Users \ MyName (не в каталоге .ssh)

heroku keys:add id_rsa.pub
git clone git@heroku.com:some-heiku-xxxx.git -o heroku

Полагаю, добавление правильного файла "id_rsa.pub" является наиболее важным. Послегенерация открытого ключа с помощью keygen просто убедитесь, что вы добавляете правильный ключ, посмотрев на отметку времени, когда он был создан.

5 голосов
/ 14 августа 2012

У меня была эта проблема, когда TortoiseGIT был установлен на моей машине.После изменения переменной среды GIT_SSH с

"c:\Program Files\TortoiseGit\bin\TortoisePlink.exe"

на

"c:\Program Files (x86)\Git\bin\ssh.exe"

и следования этому руководству с ssh-keygen и keys:add, она работает!

5 голосов
/ 17 июля 2012

Работает одна команда:

heroku keys:add

Он будет создан, если его не существует.

4 голосов
/ 21 октября 2012

Нажатие работало для меня, а затем внезапно прекратилось.

Если api heroku испытывает время простоя, вы получите эту ошибку, когда попытаетесь нажать.

Проверьте:

https://status.heroku.com/

перед тем, как слишком сильно волноваться.

3 голосов
/ 07 августа 2013

Последовательность для следования

$ heroku login
$ ssh-keygen -t rsa
$ heroku keys:add

При выполнении второго оператора запрашивается ввод, просто нажмите Введите (возврат) три раза, и будет добавлена ​​клавиша.

2 голосов
/ 07 октября 2011

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

  1. Я удалил все файлы id_rsa * и сгенерировал новый SSH, используя this guide.
  2. Затем я уничтожил приложение heroku.Удален файл ~ / .heroku / credentials.
  3. команда 'heroku create' (и, поскольку файл учетных данных удален, вам будет предложено ввести ваш адрес электронной почты / пароль.
  4. НАКОНЕЦ введите type 'herokukeys: add ', и он загрузит файл ~ / .ssh / id_rsa.pub по умолчанию.
  5. Это работает! Хорошо .... YMMV, но я действительно надеюсь, что это может помочь, поскольку я боролся с целымдень, пытаясь выяснить это! Ха-ха
2 голосов
/ 09 января 2014

Для всех тех, кто попробовал все вышеупомянутое на Windows 7, и все же это не сработало, вот что я сделал: - откройте GitBash.exe из каталога Git C: \ Program Files (x86) \ Git \ (не открывайте командную строку, это не будет работать). - добавьте следующее как указано выше , но вы должны удалить #

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss
TCPKeepAlive yes 
User joe@workstation.local

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

1 голос
/ 26 ноября 2012

У меня все еще были проблемы после отработки всех этих идей.Это была моя проблема:

Мой удаленный репозиторий heroku был поврежден.Я обновил его следующим образом:

git remote -v

Затем удалите неправильную героку:

git remote rm heroku

Затем добавьте новую

git remote add heroku git@heroku.com:sitename.git

Вы можете получитьимя сайта на странице настроек Heroku для вашего приложения.Удачи!

1 голос
/ 26 сентября 2012

Проверьте свой .ssh конфиг на героку.Перейдите в папку .ssh и откройте файл конфигурации

cd ~/.ssh
subl config

Subl предназначен для Sublime Text, но вы можете использовать любой редактор, какой пожелаете.Найдите строку «IdentityFile» и убедитесь, что в ней указан не открытый ключ:

IdentityFile "/Users/ircmullaney/.ssh/my_ssh"

, а не

IdentityFile "/Users/ircmullaney/.ssh/my_ssh.pub"

Это сделало это для меня.Я не уверен, почему у меня была общедоступная версия в файле конфигурации, но он сделал, и это выдавало ошибку:

Permissions 0644 for '/Users/ircmullaney/.ssh/my_ssh.pub' are too open.
1 голос
/ 08 июля 2012

Я должен был сделать:

$ ssh-keygen -t rsa  
$ heroku keys:add  

Тогда это сработало:

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