Не удается развернуть приложение в Heroku. Не удалось прочитать из удаленного репозитория.

В настоящее время я изучаю RUBY и пытаюсь завершить французскую версию учебника Майкла Хартла.

Хотя я заблокирован в какой-то момент учебника. Я не могу развернуть свое приложение на героку и получаю следующее:

git push heroku master
Отказано в доступе (publicKey)
фатально: невозможно прочитать из удаленного репозитория

Хотя:

  • У меня есть два id_rsa и id_rsa.pub в моей папке .ssh (в Win7)
  • Кажется, я успешно удалил свое приложение Rails на github. Репозиторий действительно показывает файлы приложения.
  • Я успешно создал приложение Heroku и вижу его на панели инструментов.

относительно SSH-ключей:

Для добавления публичного ключа SSH в Github я выполнил следующее: https://help.github.com/articles/generating-ssh-keys

Я также выполнил следующее при развертывании приложения heroku (и добавлении ключей к Heroku): https://devcenter.heroku.com/articles/git

Хотя я все еще получаю это сообщение.


person Maxence    schedule 06.12.2013    source источник


Ответы (1)


Скорее всего, вы выполняете развертывание с несовпадающими ключами SSH, или вы еще не развернули свои ключи в Heroku. Согласно документации:

Распространенная ключевая ошибка: Отказано в доступе (publickey). Вы можете исправить это, используя keys:add, чтобы уведомить Heroku о вашем новом ключе.

Устраните эту ошибку, отправив свои ключи в Heroku:

# Using the Heroku CLI Toolbelt (https://devcenter.heroku.com/articles/heroku-command)
heroku keys:add

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

person zeantsoi    schedule 06.12.2013
comment
Просто чтобы убедиться, что все в порядке, я сбросил свои ключи SSH из Git bash: ssh-keygen -t rsa, а затем скопировал ключ паба из файла на вкладку ключей моей учетной записи github. Я добавил ключи обратно в heroku из командной строки: Heroku keys:add , что дало мне успешный результат копирования ключей. Все та же проблема - person Maxence; 06.12.2013
comment
Тем не менее, при запуске в git bash следующего: ssh -vT [email protected] я получаю следующие выбранные строки: debug1: файл идентификации /c/Users/Maxence/.ssh/identity type -1 debug1: файл идентификации /c/ Users/Maxence/.ssh/id_rsa type 1 debug1: файл идентификации /c/Users/Maxence/.ssh/id_dsa type -1 - person Maxence; 06.12.2013
comment
Сколько ключей SSH у вас есть в вашем каталоге .ssh? Можете ли вы опубликовать содержимое всего этого каталога? Heroku очень привередлив к множеству ключей — в результате многие пользователи решают эту проблему, удаляя все ключи, кроме одного. - person zeantsoi; 07.12.2013
comment
У меня есть только 3 файла: id_rsa (тип: файл), id_rsa (тип: файл PUB), known_hosts (тип: файл) - person Maxence; 07.12.2013
comment
Работает ли выдать heroku keys:clear из CLI, а затем heroku keys:add? - person zeantsoi; 07.12.2013
comment
первая команда дает успешное удаление всех ключей SSH... сделано, вторая дает успешное сообщение о найденном существующем открытом ключе id_rsa.pub и успешной загрузке такого. Хотя такая же проблема - person Maxence; 07.12.2013
comment
Если вы наберете heroku keys из командной строки, будет ли возвращено содержимое только одного ключа — ключа в вашем каталоге .ssh? - person zeantsoi; 07.12.2013
comment
он показывает: ssh-rsa AAAAB3NzaC...u1Wb+1dQ== Maxence@MAXENCE-PC, который действительно соответствует нескольким первым символам файла ключа Pub, когда-то открытого с помощью блокнота. Кажется, я не вижу весь ключ из командной строки, как показано выше. - person Maxence; 07.12.2013
comment
более того, на стороне github я получаю тот же отпечаток пальца от команды ssh-keygen -t rsa в git bash, что и отпечаток, предоставленный концентратором Git из веб-интерфейса, когда ключ паба вставлен и проверен. - person Maxence; 07.12.2013