Вопрос

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

 `ssh-keygen -t rsa` 

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

 Permission Denied(public key). 

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

`ssh-add` 

Поэтому я попробовал это сделать.Но там было сказано следующее:

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

Затем, погуглив, я нашел кое-что о выполнении ssh-агента.Итак, я делаю это:

`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 успешно добавлен.Теперь все, что мне нужно сделать, это подтолкнуть его.

`bash3.1$>git push heroku master`

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

Permission denied (public key)

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

Это было полезно?

Решение

Примечание:твой билет в службе поддержки GitHub подсказал ответ:

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

Для этого см. Грэм Коллинз's отвечать (а также Ошибка Героку:«В разрешении отказано (открытый ключ)» ):

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

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

heroku keys

Примечание:предположим, что вы не использовали sudo для генерации ключей, поскольку " git clone Heroku SSH в разрешении отказано " иллюстрирует (где 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

Другие советы

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

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

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

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

heroku accounts:set youraccount

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

  1. Выполните эту команду в Git Bash $ ssh-keygen -t rsa (расположение по умолчанию и с пустой парольной фразой.Можно и альтернативы).
  2. Снова введите ключи bash $ Heroku:add (он автоматически добавит открытый ключ из местоположения по умолчанию).
  3. Выдайте это на bash, чтобы проверить ключи.$ ключи герояку.
  4. Вы можете добавить имя удаленного приложения для вашего приложения $ Heroku git:remote -a app_name
  5. Теперь вы можете отправить репозиторий git в героку с помощью этой команды $ Heroku push Origin Master
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top