git push heroku master разрешение отказано


Я следую за Рубином.railstutorial. Я запускаю команду "git push heroku master", и она выплевывает эту ошибку.

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Я внутри моего приложения rails "/ Users/lexi87/rails_projects / first_app". Какие-нибудь решения?

7   51   2013-01-15 20:46:50

7 ответов:

лучший способ избежать таких ошибок-использовать одну пару открытых / закрытых ключей, а не дополнительный ключ для heroku. Таким образом, вы (или ваша система) не можете выбрать неправильный ключ для входа в heroku.

Если вы получаете эту ошибку, вы сделали что-то неправильно. Проверьте этот сайт: https://devcenter.heroku.com/articles/keys

Если вы geht эту ошибку, лучший способ, чтобы удалить ненужные ключи и использовать только один.

Если вам нужно больше, чем одна пара ключ на вашем системы, вы можете установить один ключ для Heroku. Это делается с помощью следующей команды:

heroku keys:add

некоторые справки для пользователей Windows 7 с установленным клиентом GitHub Windows:

несмотря на то, что heroku toolbelt сообщает, что он нашел мой открытый ключ git_hub и загрузил его, "git push heroku master" не удалось. После выполнения описанных ниже действий он отлично работает.

  1. создать .папка ssh в папке пользователя, если она не существует. Если он делает, удаляет все файлы в нем (это предполагает, что вы в порядке, начиная с нуля с помощью ключей ssh).

  2. In Проводник Windows, щелкните правой кнопкой мыши на .папка ssh и выберите Git bash из контекстного меню. Это устанавливается вместе с клиентским программным обеспечением GitHub Windows.

  3. в окне bash введите ssh-keygen -t rsa -C "yourname@email.com " при появлении запроса введите a парольная фраза (Не потеряйте это).

  4. закройте окно оболочки bash.

  5. в командной строке в корне проекта введите heroku keys:add. Это позволит найти и загрузить ключ, который вы только что создали с вашим /.тсс файл В Heroku.

Теперь вы можете ввести git push heroku master чтобы подтолкнуть вас приложение на Heroku. Примечание: вам нужно будет добавить свой новый открытый ключ ssh в свою учетную запись Github, когда это будет сделано.

я столкнулся с той же проблемой. В моем.папка ssh у меня был файл под названием "известные хосты". Я продолжал пытаться удалить и создать новые ключи ssh, это не сработало. В конце концов, я просто удалил все .ssh, включая "известные хосты" , а затем создал новый ключ rsa, используя:

ssh-keygen -t rsa

затем я добавил этот новый ключ к heroku, используя:

heroku keys:add

затем создайте новый РЕПО heroku и подтолкнул мое приложение к нему:

heroku create
git push heroku master
ssh-keygen -t rsa

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

heroku keys:add

добавьте новый или существующий ключ. Если вы все еще сталкиваетесь с этой проблемой, вам, скорее всего, нужно будет добавить ключ в список ключей ssh вашего компьютера, выполнив следующие действия:

ssh-add ~/.ssh/name_of_your_rsa

и подтвердите, что ваш ssh был добавлен

ssh-add -l

это должно получить вам доступ, чтобы нажать на Дистанционное РЕПО Heroku.

на OSX, у меня возникли те же проблемы, я получал

no such identity: /Users/me/.ssh/yourPrivateKey: No such file or directory
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Я попытался создать новый ключ с ssh-keygen-t rsa, а затем добавить его с помощью heroku keys:add, но это не помогло.

затем я нашел файл с именем config in ~/.ssh/, а внутри файла было:

ServerAliveInterval 300
ServerAliveCountMax 3

host heroku.com
    user git
    hostname heroku.com
    identityfile ~/.ssh/yourPrivateKey

поэтому я изменил yourPrivateKey к моему имени файла закрытого ключа ( id_rsa по умолчанию) aaand это сработало :)

Я создал ключ с

ssh-keygen -t rsa

и использовал другое имя файла, чем id_rsa (в моем случае heroku). Я добавил ключ к heroku с

heroku keys:add

при попытке подтолкнуть мою главную ветку к heroku я всегда получал следующую ошибку:

$ git push heroku master
Подлинность хоста 'heroku.com
(50.19.85.132) не может быть установлено. RSA ключ отпечатков пальцев является
8b: 48: 5e: 67:0e:c9:16:47:32:99:87:0c:1f:c8:60: bb. Вы уверены, что хотите
чтобы продолжить подключение (да/нет)? да предупреждение: постоянно добавляется
'heroku.com,50.19.85.132 '(RSA) к списку известных хостов. Разрешение
отказано (открытый ключ). фатальная ошибка: не удалось прочитать из удаленного репозитория.

пожалуйста, убедитесь, что у вас есть соответствующие права доступа и хранилище существует.

как я заметил, git использовал только мой ключ id_rsa от другого ssh-access (вы можете проверить это через свой графический интерфейс git: Help -> SSH keys).

я переименовал мой .СШ каталог C:\Users\%username%.ssh до .тсс.бак и скопировал мой heroku закрытый и открытый ключ (от .тсс.бак каталог) к вновь созданному .ssh каталог и назвал его id_rsa (и id_rsa.паб.)

Теперь толчок работал, как ожидалось:

git push heroku master

Если вы работаете на Windows, обязательно используйте git-bash вместо Powershell / командной строки.

Если вы просто хотите сбросить ключи ssh:

  1. удалить пользователя .ssh dir
  2. открыть git-bash
  3. ssh-keygen-t rsa
  4. heroku ключи: добавить

и тогда вы сможете git push.