Пожалуйста, извините за небольшое разочарование, которое я постараюсь держать под контролем, поскольку Heroku использует SO в качестве поддержки клиентов (что я считаю дрянным, если не сказать больше).
Последние пять часов я пытался заставить приложение опубликовать, но неизменно что-то идет не так с ключами. Я прочитал десятки статей и пробовал подсказку за подсказкой, пытаясь выяснить, где в этом дурацком, совершенно непрозрачном процессе Heroku ошибается.
Мой вариант использования не так уж и сложен: я создал новую пару ключей для своих приложений heroku. Я сделал этот ключ своим:
> heroku keys
=== travis@xxxx.com Keys
ssh-rsa AAAAB3NzaC...avOqfA7ZBd travis@xxxx.com
Я могу без проблем войти в систему и «создать» приложение (глупое имя, поскольку создается впечатление, что создается репозиторий git, а не какое-либо приложение). Но каждый * долбанный * время , когда я пытаюсь нажать мое приложение, я получаю:
> git push heroku master
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Я не имею никакого представления о том, что с этим творится WTF; Я просто застрял, бьюсь головой о клавиатуру, не имея выхода, но надеюсь, что всемогущий бог Google сможет мне ответить. И Google не отвечает на него (ну, позвольте мне взять это обратно, я видел около дюжины способов ответить на это).
Для системы, которая должна быть простой, это шутка. Мне нравится идея Heroku, но, потратив пять часов на то, чтобы ничего не сделать, я подумал, может быть, это неправильный выбор.
Ответы:
В Интернете есть множество решений. Я постараюсь свести доступные варианты в один пост. Пожалуйста, пытайтесь подключиться снова после каждого шага.
Шаг 1. Попытайтесь добавить ваш открытый ключ в Heroku.
Шаг 2. Создайте новый набор ключей SSH, затем повторите первый шаг.
https://help.github.com/articles/generating-ssh-keys
Шаг 3. Проверьте и / или измените файл конфигурации
Шаг 4: Удалите heroku remote из git, воссоздайте соединение, добавление удаленного через heroku create будет вариантом только для новых репозиториев. Обязательно удалите старое репо, которое вы изначально пытались создать.
Шаг 5: переустановите Heroku Toolkit
источник
heroku create
?git heroku create
это не вещь, насколько я знаю.Ваш ключ heroku и ключи github не синхронизированы.
Определите, какой ключ вы хотите использовать (рекомендуется создать новый, например, heroku_rsa).
Добавьте ключ в github.
Добавьте тот же ключ в heroku, используя:
heroku keys:add
источник
Я столкнулся с той же проблемой, и это моя теория относительно того, что происходит:
Я подписался на Heroku очень давно, дав им свой открытый ключ github. При попытке выполнить обычный поиск
git push heroku master
он ищет мой закрытый ключ, который находится по адресу~/.ssh/github_rsa
. Затем он молча терпит неудачу с отправленным вами сообщением.Однако позже я попытался подключиться к
ssh
другому серверу, используя-i
флаг, чтобы указать мой «идентификационный файл» (т. Е. Закрытый ключ), и он запросил у меня пароль к моему закрытому ключу. «Разблокировав» закрытый ключ,git push heroku master
команда работает. Некоторые выводы:ssh
вам будет предложено ввести пароль к файлу удостоверения личности,git
не будет.ssh
, он останется разблокированным для вашегоgit
использования.keytool
.источник
Отказано в разрешении (открытый ключ) при развертывании кода героку. фатальный: удаленный конец неожиданно повесил трубку
Я думаю, что это может быть ваше решение, по крайней мере, для меня
источник
Мне показалось, что проблема в том, что у меня в фоновом режиме работал ssh-agent, и к нему не был добавлен соответствующий закрытый ключ.
Еще мне пришлось добавить публичный ключ в github (вручную) и heroku
источник
Если ни одно из других решений не работает для вас, убедитесь, что вы вошли в оболочку Linux под своей учетной записью, а не с учетной записью root .
Таким образом, если вы работаете с пользователем, который не является владельцем ваших ключей ssh, git будет искать неправильные ключи для аутентификации.
источник