Я искал много часов подряд в поисках решения моей, казалось бы, легко решаемой проблемы. Дело не в том, что мой поиск ничего не дал, а в том, что мой поиск обнаружил так много разных решений, ни одно из которых не сработало.
В любом случае, я просто не могу нажимать, извлекать или получать данные из репозитория Heroku с моего Mac. Каждая попытка дает мне (как будто он издевается) следующую ошибку:
'В разрешении отказано (открытый ключ). фатальный: не удалось прочитать из удаленного репозитория. '
Я пытался (и еще раз пытался) исправить это разными способами. Как я уже сказал, большую часть последних двух дней я потратил на поиски ответа. Вот некоторые из вещей, которые я пробовал:
- клавиши heroku: очистить, за которыми следуют клавиши heroku: добавить
- Самостоятельное создание ssh-ключа с помощью ssh-keygen -t rsa
- Очистка моего каталога .ssh, за которым следуют ключи heroku: clear, с последующим созданием ключа ssh
- Удаление моего приложения на heroku и его воссоздание (к счастью, там было немного)
Я могу получить данные из моего репозитория GitHub в порядке, поэтому я знаю, что это не сетевое подключение (также работает pinging heroku).
В качестве временного решения (которое, надеюсь, не превратится в постоянное) я вошел в свой экземпляр Ubuntu Amazon AWS ec2. Получение и отправка в Heroku и обратно работает отлично. По этой причине мне все еще кажется, что проблема связана с ключом ssh на моем Mac. Оба ключа отображаются в моей учетной записи Heroku. Имеет ли значение адрес электронной почты в конце ключевого слова?
РЕДАКТИРОВАТЬ: я могу нажимать и извлекать из GitHub нормально (однако я не использую ssh), так почему бы не Heroku?
На данный момент я готов попробовать все. Благодарность!
источник
Ответы:
Я знаю, что на это уже был дан ответ. Но я хотел бы добавить свое решение, так как оно может быть полезно другим в будущем.
Распространенная ошибка ключа:
Permission denied (publickey)
. Вы можете исправить это,keys:add
уведомив Heroku о вашем новом ключе.Вкратце, выполните следующие действия: https://devcenter.heroku.com/articles/keys
Сначала вам нужно создать ключ, если у вас его нет:
Во-вторых, вам нужно добавить ключ к Heroku:
источник
heroku keys:add
поможет вам создать его, если у вас нет ключа.ssh-keygen -t rsa
еслиRSA
не сгенерировано, в противном случаеheroku keys:add
должно быть достаточноЯ просто подумал, что поделюсь тем, что нашел ответ на свой вопрос.
Написание моей проблемы сделало ее еще более ясной для меня, и я дополнительно исследовал, в чем, по моему мнению, кроется моя проблема: ключ ssh
Оказывается, я был прав. Проблема была не в самом ключе, а в том, что я не добавил его в список известных ключей ssh на моем локальном Mac. Таким образом, даже несмотря на то, что в мою учетную запись Heroku был загружен правильный ключ, мой Mac не смог аутентифицироваться с ним, потому что он не смог найти этот ключ на моем компьютере. Решение?
Я хотел бы поблагодарить https://help.github.com/articles/error-permission-denied-publickey за то, что он является хорошей ссылкой.
источник
Git Bash
(щелкните правой кнопкой мыши папку) и запустить,ssh-agent
что можно сделать, запустив`ssh-agent`
( обратите внимание на обратные галочки), а затем добавить ключ, как описано выше. Мне приходится делать это каждый раз, когда я запускаюGit Bash
/ssh-agent
, он забывает, что было добавлено.У меня была такая же ошибка (в Windows 7), и причина была другой. Я решил это по-другому, поэтому решил добавить причину и решение для других.
Хотя ошибка, казалось, указывала на героку, на самом деле ошибка говорила
"Heroku can't get to the git repository"
. Я поклялся, что у меня были одинаковые ключи на всех серверах, потому что я создал их и загрузил один за другим в одно и то же время.Потратив на это почти день, я понял, что потому, что git показывает мне только отпечаток пальца, а не фактический ключ. Я не мог проверить, совпадает ли его ключ с ключом на моем HD или героку. Я заглянул в файл известных хостов и угадаю, что ... он показывает ключи для каждого сервера, и я смог ясно увидеть, что открытые ключи git и heroku не совпадают.
1) Я удалил все файлы в моей ключевой папке, ключ из github, используя их веб-сайт, и ключ из heroku, используя git bash и команду
heroku keys:clear
2) Следуйте инструкциям github здесь, чтобы сгенерировать новую пару ключей и загрузить открытый ключ в git
3) используя
git bash-
heroku keys:add
для загрузки того же ключа в heroku.Сейчас
git push heroku master
работает.какой кошмар, надеюсь, это кому-то помогло.
Брайан
источник
Проблема, с которой я столкнулся, заключалась в том, что я использовал только https для своей учетной записи GitHub. Мне нужно было убедиться, что моя учетная запись GitHub настроена для доступа по ssh и что GitHub и heroku используют одни и те же открытые ключи. Вот шаги, которые я предпринял:
Перейдите в каталог ~ / .ssh и удалите id_rsa и id_rsa.pub, если они там есть. Я начал с новых ключей, хотя это могло и не понадобиться.
Войдите в heroku, создайте новый сайт и добавьте свои публичные ключи:
источник
У меня был такой же случай на linux ubuntu, и я просто исправил его, похоже, что ОС перепутала /root/.ssh/ и home / user / .ssh / dir, что я сделал:
heroku keys
heroku keys:clear
heroku keys:add
теперь здесь, если heroku не смог найти ключ и попросил сгенерировать его правильно, нет, и это означает, что у вас такая же проблема, как у меня, выполните команду добавления, подобную этойheroku keys:add /root/.ssh/id_rsa.pub
путь, который вы добавите, будет тем, который у вас есть на шаге 2.git push heroku master
сейчасисточник
Мой путь в Windows 8
Добавьте каталог с ssh-keygen в системную переменную PATH, обычно C: \ Program Files (x86) \ Git \ bin
Откройте CMD, перейдите в C: \ Users \ Me \
Создать ключ SSH
ssh-keygen -t rsa
Введите файл, в котором нужно сохранить ключ (//.ssh/id_rsa): .ssh / id_rsa (измените неверный путь по умолчанию на .ssh / somegoodname_rsa)
Добавьте ключ в Heroku
heroku keys:add
Выберите созданный ключ из списка
Перейдите в каталог вашего приложения, напишите красивый код
Запустить репозиторий git
git init
git add .
git commit -m 'chore(release): v0.0.1
Создать приложение Heroku
heroku create
Разверните свое приложение
git push heroku master
Откройте ваше приложение
heroku open
источник
Была аналогичная проблема и много чего пробовала. В конечном счете, что сработало для меня, так это установить Gnu в Windows ( https://github.com/bmatzelle/gow/releases ) и убедиться, что он использует инструмент ssh внутри этого каталога, а не тот, который имеет Git. После установки test с (убедитесь, что в вашей среде PATH предшествует Git \ bin)
Я использовал шпатлевку и pageant, как описано здесь: http://rubyonrailswin.wordpress.com/2010/03/08/getting-git-to-work-on-heroku-on-windows-using-putty-plink-pageant/
После того, как ключи были отправлены в heroku (ключи heroku: добавьте c: \ Users \ Person.ssh \ id_rsa.pub), используйте
и убедитесь, что ваш стек показывает использование Putty, то есть рабочий стек:
Тот, который работал ранее и потерпел неудачу:
источник
вам нужно создать новый ключ ssh, набрав следующее - ssh-keygen -t rsa
Затем вам нужно добавить: - ключи героку: добавить
Потом если набрать - героку открыть
Проблема решена.
В любом случае это сработало для меня, вы можете попробовать ...
источник
У меня такая же ошибка, и поскольку у меня 4 ssh-ключа, я попробовал выполнить следующее:
затем появятся четыре варианта:
Выбираю 3), самый новый
Затем я исправляю ошибку.
источник
Я использую этот метод для решения этой проблемы Может быть, вы можете попробовать
"Включить ssh-агент"
http://git-scm.com/
Установите это
Включить ssh-agent
C: \ Program Files \ Git \ cmd
start-ssh-agent
Диспетчер сообщений после того, как я включил агент. Надеюсь, это поможет вам.
источник
Я хотел бы добавить еще одно решение, так как я его здесь не видел. Моя проблема заключалась в том, что heroku ссылался на неправильный URL-адрес (так как я продолжал играть с именами URL-адресов). Редактирование удаленного URL-адреса решило мою проблему:
источник
Я была такая же проблема. И я попытался сбросить свои ключи, как все говорили, но это все равно не сработало. Потому что я переименовал приложение.
Я сбросил ключи и переименовал приложение с консоли. Проверьте этот вопрос для получения дополнительной информации: проблема приложения Heroku push
источник
Итак, так простое решение, перейдите в c: /Users/user_name/.ssh/ и удалите все пары pub / private key, таким образом heroku сгенерирует ключи для вас.
источник
У меня была аналогичная ошибка ssh heroku, которую я не мог решить.
В качестве обходного пути я использовал новую функцию heroku http-git (http-транспорт для удаленного «heroku» вместо ssh). Подробности здесь: https://devcenter.heroku.com/articles/http-git
(Краткая версия: если у вас есть проект, уже настроенный стандартным способом, запустите heroku git: remote --http-init, чтобы изменить удаленный "heroku" на http.)
Хорошее быстрое решение, если у вас нет времени на исправление / устранение неполадок ssh.
источник