2009-12-01 2 views
9

(с использованием Vista) Я пытаюсь клонировать приложение из своего репозитория GitHub и вставлять его в Heroku. Хорошо, поэтому я много раз пытался создать SSH-ключ:git push heroku master разрешено на VISTA

`ssh-keygen -t rsa` 

Кажется, все отлично. У меня есть это на моей папке C:/Users/*** /. Ssh. Теперь я пытаюсь клонировать приложение, которое разворачивается в GitHub. Когда я пытаюсь клонировать его в каталоге rails_apps, я получаю сообщение о том,

Permission Denied(public key). 

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

`ssh-add` 

Так что я пытался делать что , Но он сказал, что:

Не удалось открыть подключение к вашему агенту аутентификации.

Затем после некоторого поиска в Google я нахожу что-то о выполнении ssh-agent. Так что я делаю это:

`ssh-agent bash` 

и командной строки изменяется от моего каталога rails_apps к этому:

`bash3.1$>` 

Так я бегу:

`bash3.1$>ssh-add [path to .ssh folder]` 

и успешно добавляет закрытый ключ RSA (он не работает с id-rsa.pub). Я также добавил вновь созданный открытый ключ к моей учетной записи GitHub.

Теперь, когда я пытаюсь клонировать:

`bash3.1$>git clone [email protected]:username/myrepo.git` 

Он успешно клонирует репо я раздвоенный в GitHub. Теперь, когда у меня есть приложение в моем локальном репо, я пытаюсь создать приложение heroku.

`bash3.1$>cd myrepo` 
`bash3.1$>heroku create myapp` 

И этот код успешно работает. Удаленный Git успешно добавлен. Теперь мне нужно только нажать.

`bash3.1$>git push heroku master` 

BAM! Я снова получаю сообщение об ошибке.

Permission denied (public key)

Я так близко к толкая мое приложение Heroku. Но это просто не сработает. Вы можете мне помочь. Что я здесь делаю неправильно? Благодаря! : D

+0

Что 'мерзавец remote -v show' отображается в вашем клонированном репо? – VonC

ответ

1

Примечание: Ваш ticket on GitHub Support запрос ответ:

Вы должны дать Heroku ключ. Для этого должна быть команда. Если вы не можете найти его, вам придется связаться со службой поддержки.

Для этого, см Graeme Collins «s answer (а также Heroku error: "Permission denied (public key)"):

heroku keys:add ~/.ssh/id_rsa.pub 

См Heroku devcenter подробнее об этом процессе.
Вы можете увидеть список всех ключей, в том числе имени ключа, например:

heroku keys 

Примечания: что предположит, что вы не использовали Sudo для генерации ключей, так как иллюстрирует «git clone heroku ssh permission denied» (где heroku keys:add не работает)


Больше информации о ваших ключей SSH в вашей другой GitHub Support ticket.

debug1: Trying private key: /.ssh/identity 
debug1: Trying private key: /.ssh/id_rsa 
debug1: Trying private key: /.ssh/id_dsa 

Я не знаю, почему он будет смотреть на /.ssh и не ~/.ssh тогда.
Попробуйте переместить свою пару ключей на этот путь.


Это не должно быть:

git push origin master 

? По умолчанию ссылка на клонированных репо называется «происхождение», а не «Heroku»

Что

git remote -v show 

дисплей?

Это вы хотите, вы можете ссылаться на отдаленное репо под названием Heroku

git remote add heroku [email protected]:git_username/projectname.git 
+0

Спасибо, фон. Я пробовал то, что вы сказали, меняя герою на происхождение. Это не сработало. Я попробовал команду, которую вы сказали. Теперь, когда я 'мерзавец толчок Heroku master' Это говорит Все уточненный Но приложение все еще не на Heroku. Я не уверен, что происходит. –

62

У меня была аналогичная проблема. , выполнив следующую команду фиксированной для меня:

heroku keys:add ~/.ssh/id_rsa.pub

Substitute "~/.ssh/id_rsa.pub" с путем к файлу id_rsa.pub.

+0

Спасибо, это был правильный ответ. Я знал, что изменил свои ключи и просто искал команду для их обновления :) – x10

+0

У меня была эта же проблема, и это сработало и для меня! – Connor

+0

Это тоже помогло. – jonas054

1

Следующая линия решила проблему для меня.

heroku accounts:set youraccount 
0

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

  1. Задайте эту команду в Git Bash $ ssh-keygen -t rsa (по умолчанию и с пустой кодовой фразой. Вы также можете использовать альтернативы).
  2. Снова выдайте ключ bash $ heroku: добавьте (он автоматически добавит открытый ключ из местоположения по умолчанию).
  3. Выделите это в bash для проверки ключей. $ heroku ключи.
  4. Вы можете добавить пульт дистанционного управления для вас приложения имя $ Heroku мерзавца: удаленный -a app_name
  5. Теперь вы можете нажать на GIT репозиторий в Heroku с помощью этой команды $ Heroku толчок происхождения мастер
Смежные вопросы