гит пуш геройку разрешение мастера отказано в ВИСТЕ - PullRequest
9 голосов
/ 01 декабря 2009

(с помощью Vista) Я пытаюсь клонировать приложение из моего репозитория GitHub и вставить его в Heroku. Итак, я много раз пытался создать ключ SSH с помощью этого:

 `ssh-keygen -t rsa` 

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

 Permission Denied(public key). 

Я нашел решение в сети, говорящее, что я должен запустить это сначала:

`ssh-add` 

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

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

Затем, после некоторого поиска, я нашел кое-что о выполнении 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 git@github.com:username/myrepo.git`

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

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

И этот код успешно работает. Git Remote успешно добавлен. Теперь все, что мне нужно сделать, это подтолкнуть его.

`bash3.1$>git push heroku master`

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

Permission denied (public key)

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

Ответы [ 4 ]

61 голосов
/ 18 января 2011

У меня была похожая проблема. Выполнение следующей команды исправило это для меня:

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

Замените "~ / .ssh / id_rsa.pub" своим путем к файлу id_rsa.pub.

1 голос
/ 14 января 2012

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

heroku accounts:set youraccount
1 голос
/ 01 декабря 2009

Примечание: ваш тикет на GitHub Support запросил ответ:

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

Об этом см. Грэм Коллинз ответ (а также Ошибка Heroku: «Отказано в доступе (открытый ключ)» ):

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

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

heroku keys

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


Дополнительная информация о ваших ssh-ключах в другом билете поддержки GitHub .

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

? По умолчанию ссылка на клонированный репозиторий называется «origin», а не «heroku»

Что значит

git remote -v show

дисплей?

Если хотите, вы можете ссылаться на отдаленный репо по имени героку

git remote add heroku git@github.com:git_username/projectname.git
0 голосов
/ 31 августа 2014

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

  1. Выполните эту команду в Git Bash $ ssh-keygen -t rsa (местоположение по умолчанию и с пустой парольной фразой. Вы также можете использовать альтернативы).
  2. Снова выдайте в bash $ heroku ключи: add (автоматически добавит открытый ключ из расположения по умолчанию).
  3. Выпустите это в bash, чтобы проверить ключи. $ heroku keys.
  4. Вы можете добавить удаленное для вас имя приложения $ heroku git: remote -a имя_приложения
  5. Теперь вы можете перенести репозиторий git на heroku с помощью этой команды $ heroku push origin master
...