Развертывание рельсов на героку - несанкционированный доступ с открытым ключом
Поэтому я пытаюсь развернуть свое приложение на 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)