Ваш ключ с отпечатком пальца (..) не авторизован (совместная работа)

Хотя есть много вопросов об этой ошибке, все они связаны с приложением, созданным человеком, получившим ошибку, и не помогли решить мою проблему. Меня добавили в качестве соавтора приложения на героку. Когда я пытаюсь клонировать репозиторий heroku через

git clone [email protected]:myapp.git -o heroku

или если я клонирую код, на котором он был основан, с github и запускаю

git push heroku master (after doing git add and git commit)

это дает мне ошибку «Ваш ключ с отпечатком пальца (...) не авторизован для доступа к моему приложению». Я пробовал различные комбинации ключей heroku: добавить, ключей heroku: очистить и ssh-keygen.

У других участников этого приложения не было проблем с переходом на героку.


person ShayBlair    schedule 25.05.2012    source источник
comment
У этого дубликата SO есть несколько ответов: > stackoverflow.com/questions/8786564/   -  person silasjmatson    schedule 09.11.2012


Ответы (3)


Я получил эту ошибку, потому что использовал несколько учетных записей heroku:

Я хотел сделать это, чтобы я мог «играть» независимо со своей учетной записью Heroku, сотрудничая с другими в учетной записи команды / проекта.

Это отличается от концепции Heroku о совместной работе нескольких людей над учетной записью команды: я хотел, чтобы учетная запись команды была владельцем приложения для совместной работы, чтобы моя индивидуальная учетная запись могла действовать как менее привилегированный соавтор, как и остальная часть команды. . Только владелец может: добавлять/удалять платные надстройки, удалять/переименовывать приложение и просматривать счета.

Для поддержки нескольких учетных записей (например, вашей собственной индивидуальной учетной записи heroku) вам необходимо добавить это не очень хорошо задокументированное дополнение:

Плагины $ heroku: установить git://github.com/ddollar/heroku-accounts.git

см.: https://github.com/ddollar/heroku-accounts

Вот как в конечном итоге будет выглядеть ваша настройка git SSH:

(venv)MacPro:your_project username$ more .git/config
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = ssh://[email protected]_org.com/your_project.git
[branch "master"]
        remote = origin
        merge = refs/heads/master
[remote "heroku_kb"]
        url = [email protected]:your_individual_app.git
        fetch = +refs/heads/*:refs/remotes/heroku/*
[remote "heroku_ocp"]
        url = [email protected]_project:your_team_app.git
        fetch = +refs/heads/*:refs/remotes/heroku/*
[heroku]
        account = individual

Последние три раздела выше определяют два отдельных пульта heroku и указывают, какой из них активен.

Надстройка heroku-accounts делает все это, добавляя записи ~/.ssh/config:

Host heroku.individual
  HostName heroku.com
  IdentityFile "/Users/username/.ssh/identity.heroku.individual"
  IdentitiesOnly yes

Host heroku.your_project
  HostName heroku.com
  IdentityFile "/Users/username/.ssh/identity.heroku.your_project"
  IdentitiesOnly yes

Если вы не разделите учетные записи таким образом, один ключ SSH будет мешать другому, и вы окажетесь в подвешенном состоянии SSH, как и я, развлекаясь поиском ошибки в Google/форуме, которая выглядит следующим образом:

MacPro:your_project username$ git push heroku master

 !  Your key with fingerprint cf:5b:6b:91:d5:71:e8:8b:73:dc:cf:86:56:fd:7a:49 is not authorized to access [insert appname here].

fatal: The remote end hung up unexpectedly
person Kbr    schedule 05.10.2012

Похоже на какую-то проблему с конфигурацией. Вам действительно следует дважды проверить, есть ли у вас соответствующие разрешения для приложения и что ваши SSH-ключи зарегистрированы в heroku.

Убедитесь, что вы используете те ключи, которые, по вашему мнению, используете. По сути, cat ~/.ssh/id_rsa.pub (или любой другой ключ, который вы используете) должен отображаться в heroku keys --long.

Прочтите https://devcenter.heroku.com/articles/keys для получения дополнительной информации.

person Yuval Adam    schedule 25.05.2012
comment
Как я могу проверить, зарегистрированы ли ключи и какие из них используются? Я просматривал этот сайт несколько раз, и это еще не помогло. - person ShayBlair; 26.05.2012

Вероятно, у вас более одного ssh-ключа, и по умолчанию используется неправильный. Чтобы исправить это, вам нужно настроить SSH для отправки правильного ключа на heroku.com. Дополнительные сведения см. в этом ответе для суперпользователя.

person James Tikalsky    schedule 16.09.2012