Развертывание рельсов на героку - несанкционированный доступ с открытым ключом

Поэтому я пытаюсь развернуть свое приложение на heroku, но оно постоянно выдает мне эту ошибку всякий раз, когда я нажимаю на master:

! Your key with fingerprint cb:e1:5c:31:cd:6b:78:6e:30:ff:eb:11:e2:4b:2e:b3 is not authorized to access smooth-mountain-8970.

Я перепробовал все, от генерации новых ключей ssh ​​до удаления всего и замены файлов. Я даже создал другое имя пользователя и попытался загрузить его, но он все еще дает мне эту ошибку, думая, что я хочу загрузить файл на smooth-mountain, хотя на самом деле мое приложение НЕ гладкое. Ребята, вы знаете, в чем может быть проблема?

Благодарю.

5 ответов

Решение

ssh-agent (программа, которая содержит закрытые ключи, используемые для аутентификации с открытым ключом), запускается автоматически начиная с Mac OS X Leopard. Чтобы решить вашу проблему, вы должны удалить удостоверения из агента, выполнив следующую команду.

ssh-add -d

Пример:

> ssh-add -l 
1024 a3:d5:21:2d:50:ee:3e:af:1b:44:62:60:1d:e4:51:21 /Users/bart/.ssh/id_dsa (DSA)

> ssh-add -d 
Identity removed: /Users/bart/.ssh/id_dsa (/Users/bart/.ssh/id_dsa.pub)

> ssh-add -l 
The agent has no identities.

Это только временно удалит ключи из этого сеанса. Лично я не против делать это время от времени. Однако, если вы хотите отключить ssh-agent навсегда, см.: SSH Key Disable Caching

После того, как я переименовал свое приложение на Heroku.com, у меня возникла проблема:

 !  Your key with fingerprint xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx is not authorized to access smooth-rain-5917.

fatal: The remote end hung up unexpectedly

Я попробовал почти все... как сказал @Nosayr Yassin...

У меня нет файла .config, но я нашел неправильную ссылку на

my_app_root_dir/.git/config

это содержит

[remote "heroku"]
        url = git@heroku.com:smooth-rain-5917.git
        fetch = +refs/heads/*:refs/remotes/heroku/*

Я поменял на:

[remote "heroku"]
        url = git@heroku.com:my_new_app_name.git
        fetch = +refs/heads/*:refs/remotes/heroku/*

Затем запустите agian

git push heroku master

и все, наконец, я могу снова развернуть приложение...

Спасибо за все ваши советы: P

Rgds iVieL

Отредактировано: кстати, я работаю на OSX Lion:)

В моем случае,

heroku keys

Показал мне мой правильный ключ, но я все еще не мог нажать на Heroku.

Вот что сработало для меня:

ssh-add -d
heroku keys:add ~/.ssh/id_rsa_heroku.pub

То есть у меня это работало вчера, а сегодня... нет.

Вот что сработало сегодня благодаря помощи моего босса Unix-master:

ssh-add ~/.ssh/id_rsa*
cd ~/.ssh
ls -l
chmod 600 id_rsa*
chmod 644 *.pub
ls -l
ssh-add id_rsa
ssh-add id_rsa_heroku
cd -

Я нашел более простое решение с помощью Heroku Devcenter. Вот что я сделал, чтобы заставить это работать должным образом.

ssh-keygen -t rsa

Он сгенерирует пару открытый / закрытый ключ RSA. Если у вас уже есть один, тогда передайте n для нет.

ключи героя: добавить

Он найдет существующий открытый ключ и загрузит открытый ключ SSH.

Вот и все. Это было так просто.

Решил такую ​​проблему, просто набрав в локальной оболочке

heroku accounts:set accountname

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

Похоже, что многие сталкивались с этой проблемой с несколькими учетными записями, поэтому я решил поделиться этим. Я сам управляю несколькими учетными записями (на одной машине), на каждой из которых развернуто несколько приложений. Я установил плагин heroku-account для Heroku CLI. (Https://github.com/ddollar/heroku-accounts)

Другие вопросы по тегам