Не на Heroku, потому что отпечаток ключа
Я новичок в Rails, и я пытался развернуть очень простое приложение для Heroku. Это второе приложение, которое я развертываю, и первое, которое я смог сделать это просто отлично. Однако у меня возникли некоторые проблемы с этим. Всякий Раз, Когда Я "git push heroku master", Я получаю эту ошибку:
! Ваш ключ с отпечатком xx: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx: xx: xx не авторизован для >доступа к my_heroku_app.
фатальная ошибка: удаленный конец повесил трубку неожиданно
Я попытался управлять своими ключами после входа в heroku. Если я наберу в своей консоли" heroku keys", тогда я получаю:
нет ключей для myemailaddress.
однако, если я запускаю команду" heroku ключи: добавить" Я
найден существующий открытый ключ: / Users/michele/.ssh / id_rsa.паб Загрузка открытого ключа ssh / пользователи / michele/.ssh / id_rsa.паб ! Отпечатки пальцев уже есть. Пожалуйста используйте один ключ ssh на учетную запись Heroku
пожалуйста, помогите мне! Это так расстраивает, я понятия не имею, что случилось! Спасибо
10 ответов:
у меня была такая же проблема, я следил за этим сообщением и другими такого же рода без успеха : - ((
наконец, я нашел решение: Я должен был добавить свою новую личность rsa в свою машину!
Итак, прежде всего я создал новый ключ RSA:
ssh-keygen -t rsa -C "giordano.scalzo[at]gmail.com" -f ~/.ssh/id_rsa_heroku
затем добавил его в мою машину
ssh-add ~/.ssh/id_rsa_heroku
и, наконец, в Heroku
heroku keys:add ~/.ssh/id_rsa_heroku.pub
после этого,
git push heroku master
работал как шарм!
надеюсь, что это помогает.
у меня тоже есть несколько ключей и несколько учетных записей heroku, поэтому я сталкиваюсь с этой проблемой каждые несколько месяцев. Как уже упоминалось Giordano Scalzo, Tom Carchrae и user664833, основной проблемой является ssh-агент, которым вы управляете с помощью . Главная страница (
man ssh-add
) на самом деле довольно ясно и лаконично, так что проверить его.вы можете перечислить все ключи, о которых знает ssh-агент:
ssh-add -l
вы можете удалить все ключи, о которых знает ssh-агент с:
ssh-add -D
или удалить определенный ключ с помощью
ssh-add -d ~/.ssh/id_rsa_example_key_file_use_your_own
не волнуйтесь! Вы на самом деле не удаляете ключи, а только меняете, какие из них ssh-агент автоматически пытается использовать, например, когда вы пытаетесь нажать на heroku. Легко добавлять и удалять ключи по мере необходимости, поэтому для меня, когда я расстраиваюсь из-за этой проблемы, Самый простой способ исправить это-удалить все ключи и добавить обратно только тот, который я хочу использовать в данный момент.
ssh-add -D ssh-add ~/.ssh/id_rsa_example_use_this_one_i_mean_it
ваш компьютер имеет ключ SSH, но этот ключ SSH связан с другой учетной записью Heroku.
Если вам нужно использовать обе учетные записи для разных приложений на одном компьютере, вы должны сделать новый SSH-ключ на своем компьютере и загрузить его в Heroku:
$ ssh-keygen
обязательно сохраните его как ' / Users/User/.ssh / new_id_rsa.паб', когда подсказка спрашивает вас.
$ heroku keys:add /Users/User/.ssh/new_id_rsa.pub
затем вам нужно добавить альтернативный хост для
heroku.com
в свой~/.ssh/config
:Host heroku-alt HostName heroku.com IdentityFile ~/.ssh/new_id_rsa
а затем обновить
.git/config
в вашем проекте использовать псевдоним хоста:[remote "heroku"] url = git@heroku-alt:myapp.git fetch = +refs/heads/*:refs/remotes/heroku/*
выбирая между
heroku
иheroku-alt
в пульте управления.git/config
файлы конкретных проектов вы можете управлять тем, какие проекты используют какие учетные данные.
вот очень четкое объяснение, которое отсутствует в документации Heroku или других ответах на этот вопрос. По крайней мере, вся информация, похоже, не появляется ни в одном месте. Это также позволит вам понять проблему таким образом, что инструмент приходится не.
Heroku идентифицирует вас двумя способами:
первый .git / config
[heroku] account = acccount_name
это, кажется, позволяет выполнять основные операции с помощью
heroku
второй путь heroku идентифицирует вас с помощью любой операции, которая использует ssh (git push). Heroku идентифицирует вас по вашему ssh-ключу, как указано здесь: https://devcenter.heroku.com/articles/keys
эта пара ключей используется для сильной криптографии и что уникально идентифицирует вас как разработчика при нажатии изменений кода.
таким образом, каждая учетная запись heroku, над которой вы работаете, должна будет отправить другой ключ heroku при использовании ssh. Следуйте учебник, чтобы создать свой ключ SSH.
ключ получает SSH, чтобы использовать разные ключи для каждой учетной записи Heroku. Как вы это настраиваете? Вам нужно сделать 2 вещи:
1 )Вам нужно будет сделать "фиктивный" домен, который ваш.ssh / config будет перехватывать и перенастраивать. Это скажет ssh "фактический" домен, который вы хотите, и какой специальный ключ ssh использовать.
Host heroku.my_unique_key HostName heroku.com IdentityFile ~/.ssh/identity.heroku.my_unique_key IdentitiesOnly yes
2) изменить свой .git / config, чтобы использовать это при использовании git push. Вместо heroku.com используйте домен манекен, установленный на устройстве .ssh / config
[remote "heroku"] url = git@heroku.com.git [remote "heroku"] url = git@heroku.my_unique_key:myapp.git
вот и все :) немного сложно и немного просто одновременно. Мне потребовалось 3 года стучать головой о стену и проб и ошибок, чтобы обнаружить эту информацию. Это должно быть четко задокументировано где-то, но по крайней мере это начало.
вам нужно будет создать новые ключи и добавить их
указать новое имя файла после запуска
ssh-keygen
затем (в моем случае)
heroku keys:add /home/alex/.ssh/alex_heroku_rsa.pub
У меня такая же проблема на прошлой неделе. Эта связь помогла мне. Я надеюсь, что это поможет вам немного. http://devcenter.heroku.com/articles/keys
в моем случае,
heroku keys
уже был указан правильный ключ. Итак, все, что мне нужно было сделать, это бежатьssh-add /path/to/that/key
а потом все стало работать нормально.
У меня также есть две учетные записи Heorku, и в качестве обходного пути я "пригласил" свою основную учетную запись (тот, чей ключ автоматически используется Heroku) в качестве соавтора моего проекта.
просто хочу добавить решение для пользователей Windows.
скачать "генератор шпатлевки"
создать ключ с ним OBS вам нужно переместить мышь цветка пустой области для создания случайности.
сохраните ключи, просто помните, чтобы переименовать свой ключ в [имя].паб
Run
heroku keys:add
в терминале!