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

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

! 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 ​​до удаления всего и замены файлов. Я даже создал другое имя пользователя и попытался загрузить, но он продолжает давать мне эту ошибку, думая, что я хочу загрузить в гладкую гору, когда на самом деле мое имя приложения НЕ плавное. Вы, ребята, знаете, в чем проблема?

Спасибо.

Ответ 1

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

Ответ 2

После того, как я переименовал свое приложение на 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

Я пытался почти все... как @Носайр Ясин, сказал...

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

my_app_root_dir/.git/config

содержит

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

Я изменил для:

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

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

git push heroku master

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

thks для всех ваших советов: P

Rgds iVieL

отредактировал: btw, я бегу на OSX Lion:)

Ответ 3

В моем случае

heroku keys

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

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

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

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

Это то, что работало сегодня, благодаря помощи моего шефа Unix-мастера:

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 -

Ответ 4

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

heroku accounts:set accountname

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

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

Ответ 5

Я нашел более легкое решение через Heroku Devcenter. Вот что я сделал, чтобы заставить его работать правильно.

ssh-keygen -t rsa

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

heroku keys: добавить

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

Что это. Это было так просто.