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

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

git push heroku master

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

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

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

Ответы [ 34 ]

1 голос
/ 18 декабря 2012

Проблема, с которой я столкнулся, была в Windows, и всякий раз, когда я запускал команду «heroku keys: add», выбирались клавиши github. Итак, вот шаги, которые я выполнил, чтобы решить проблему

  1. перешел в каталог .ssh в папке «Document and Settings» и удалил ключи git hub
  2. запустить команду ключи героя: добавь

Приведенная выше команда попросила меня сгенерировать новые ключи, после чего был выведен Не удалось найти существующий открытый ключ. Вы хотите сгенерировать один? [Yn] Y Генерация нового открытого ключа SSH. Загрузка открытого ключа SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub ... сделано ! Драгоценный камень 'heroku' устарел и заменен на инструментальный пояс Heroku, скачайте и установите с https://toolbelt.heroku.com.

  1. повторите команду ключи героя: добавь

Приведенная выше команда не даст следующий вывод Найден существующий открытый ключ: C: / Documents and Settings / Admin / .ssh / id_rsa.pub Загрузка открытого ключа SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub ... сделано

  1. Теперь воспользуйтесь мастером git push

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

1 голос
/ 24 ноября 2010

Похоже, ваш файл ~/.ssh/authorized_keys настроен неправильно. Убедитесь, что:

  • Он находится на правильном пути.
  • Разрешения файла - 0600.
  • Разрешения ~/.ssh равны 0700.
1 голос
/ 12 января 2013

У меня была такая же проблема; следующие шаги должны помочь:

  1. Сначала авторизуйтесь: heroku login
  2. Очистить все ключи: ключи героя: очистить
  3. Удалить все файлы в локальной папке (все .pub файлы и know_host) в .ssh/ folder
  4. Войдите еще раз: heroku login - вы получите приглашение без ключа, поэтому следуйте инструкциям на экране.
0 голосов
/ 29 января 2015

Я переустановил Heroku Toolbelt и все заработало.

0 голосов
/ 09 ноября 2014

Вместо того, чтобы иметь дело с ключами SSH, вы также можете попробовать новую поддержку Heroku beta HTTP Git . Он просто использует ваш токен API и работает на порте 443, поэтому не нужно связываться ни с ключами SSH, ни с портом 22.

Чтобы использовать HTTP Git, сначала убедитесь, что Toolbelt обновлен и ваши учетные данные актуальны:

$ heroku update
$ heroku login

(это важно, потому что Heroku HTTP Git аутентифицируется немного иначе, чем остальная часть Toolbelt)

Во время бета-тестирования вы получаете HTTP, передавая флаг --http-git соответствующим командам heroku apps:create, heroku git:clone и heroku git:remote. Чтобы создать новое приложение и настроить его на удаленный Git HTTP, запустите:

$ heroku apps:create --http-git

Чтобы изменить существующее приложение с SSH на HTTP Git, просто запустите эту команду из каталога приложения на вашем компьютере:

$ heroku git:remote --http-git
Git remote heroku updated

Ознакомьтесь с документацией Dev Center, чтобы узнать, как настроить HTTP Git для Heroku .

.
0 голосов
/ 26 августа 2014

Если другие ответы не сработали для вас. Попробуйте это!

Иногда все, что вам нужно, это нажать снова. Это случилось со мной сегодня из-за медленного интернет-соединения (когда вы скачиваете или используете p2p).

Пожалуйста, смотрите скриншот ниже:

enter image description here

0 голосов
/ 07 декабря 2011

Я просто хотел бы добавить, что каталог не обязательно C: \ Users \ [username] \. Ssh. Это каталог, в котором вы создали свой открытый ключ.

Например, мой домашний каталог в Windows был изменен на C: \ [имя пользователя]. Ваш домашний каталог в подпапке .ssh - лучшее и наиболее вероятное место, где вы, возможно, создали свои ключи. Вы можете проверить свой домашний каталог в Windows с помощью команды:

    echo %HOMEPATH%
0 голосов
/ 06 ноября 2013

при нажатии с помощью

git push heroku production:master 

используется ваш открытый ключ в домашнем каталоге ~ / .ssh / id_rsa

Чтобы исправить это

Вы должны войти в систему как другой пользователь может быть root

sudo su 

затем начните заново, введя следующие команды

heroku keys:clear //removes existing keys
ssh-keygen -t rsa //generates a new key in ~/.ssh folder (set a password)
heroku keys:add   //uploads the new key, ~/.ssh/id_rsa is uploaded                      
git push heroku production:master
0 голосов
/ 28 сентября 2013

Вот что у меня сработало. Сайт heroku не добавляется к вашим известным хостам. Зайдите в окно-другое-покажите репозитории view-git-git. Оттуда клонирует хранилище. Как только вы клонируете его, удалите только что созданный репозиторий, а затем импортируйте его из меню «Файл». Делайте это, поскольку при клонировании репозитория он не добавляется в представление проводника. Теперь у вас должен быть репозиторий git и представление проводника.

0 голосов
/ 15 мая 2012

Если вы хотите использовать «sudo», пример:

sudo git clone git@heroku.com......... -o heroku

Вы также должны сгенерировать ключ ssh для пользователя root.

sudo su
cd /root/.ssh  
ssh-keygen -t rsa
....
heroku keys:add id_rsa.pub

и это сработает.

если вы не используете пользователя root, вместо этого сгенерируйте ключ ssh в вашем каталоге пользователя.

cd /home/user/.ssh

Извините, если мои предложения испортились ...

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