git push разрешение мастера Heroku отклонено на VISTA
-
22-07-2019 - |
Вопрос
(Используя 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.
- Выполните эту команду в Git Bash $ ssh-keygen -t rsa (расположение по умолчанию и с пустой парольной фразой.Можно и альтернативы).
- Снова введите ключи bash $ Heroku:add (он автоматически добавит открытый ключ из местоположения по умолчанию).
- Выдайте это на bash, чтобы проверить ключи.$ ключи герояку.
- Вы можете добавить имя удаленного приложения для вашего приложения $ Heroku git:remote -a app_name
- Теперь вы можете отправить репозиторий git в героку с помощью этой команды $ Heroku push Origin Master