Разрешение Героку отрицается (публикование) фатальным: не удалось прочитать из удаленных репозитариев 'woes

Я искал в течение многих часов, глядя на решение моей, казалось бы, простой в установке проблемы. Это не то, что мой поиск ни к чему не привел, это то, что в моем поиске появилось столько разных решений, из которых никто не работал.

В любом случае, я просто не могу нажать, вытащить или извлечь из моего репозитория Heroku с моего Mac. Каждая попытка дает мне (как будто это насмехается) следующую ошибку:

'Разрешение отклонено (publickey). фатальный: не удалось прочитать с удаленного хранилище.

Я попытался (и повторил попытку) исправить это разными способами. Как я уже сказал, я потратил хороший кусок последних двух дней на поиски ответа. Вот некоторые из вещей, которые я пробовал:

  • heroku keys: clear, затем ключи героя: add
  • Регенерация ключа ssh сама по себе с помощью 'ssh-keygen -t rsa'
  • Очистка моего .ssh-каталога, за которым следуют ключи героя: clear, за которым следует генерация ключа ssh
  • Удаление моего приложения на герою и повторное создание (к счастью, не так много было)

Я могу извлечь из моего репозитория GitHub, поэтому я знаю, что это не сетевое подключение (pinging heroku также работает).

Как временное решение (которое, я надеюсь, не превращается в постоянный), я вошел в свой экземпляр Ubuntu Amazon AWS ec2. Тяготение и толкание к и от Heroku прекрасно работает. По этой причине я все еще чувствую, что проблема связана с ключом ssh на моем Mac. Оба ключа отображаются под моей учетной записью Heroku. Адрес электронной почты в конце ключевого вопроса?

EDIT: я могу нажать и вытащить из GitHub (я не использую ssh, однако), так почему бы не Heroku?

В этот момент я готов попробовать что угодно. Спасибо!

Ответ 1

Я просто подумал, что разделю, что нашел ответ на свой вопрос.

Списание моей проблемы сделало это еще более понятным для меня, и я дополнительно исследовал, где я думал, что моя проблема заключается: ключ ssh

Оказывается, я был прав. Проблема была не в самом ключе, а в том, что я не добавил его в свой локальный список Mac известных ключей ssh. Поэтому, несмотря на то, что у моей учетной записи Heroku был правильный ключ, мой Mac не смог аутентифицироваться, потому что он не мог найти этот ключ на моем компьютере. Решение?

ssh-add ~/.ssh/id_rsa
#and, to confirm it been added to the known list of keys
ssh-add -l

Я хотел бы отдать должное https://help.github.com/articles/error-permission-denied-publickey за хорошую ссылку.

Ответ 2

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

Общая ошибка ключа: Permission denied (publickey). Вы можете исправить это, используя keys:add, чтобы уведомить Heroku о своем новом ключе.

Короче следуйте следующим шагам: https://devcenter.heroku.com/articles/keys

Сначала вам нужно создать ключ, если у вас его нет:

ssh-keygen -t rsa

Во-вторых, вам нужно добавить ключ к Heroku:

heroku keys:add

Ответ 3

У меня была такая же ошибка (на окнах 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 загрузить тот же ключ в герою.

Теперь git push heroku master работает.

какой кошмар, надеюсь, это помогло кому-то.

Брайан

Ответ 4

Проблема, с которой я столкнулась, заключается в том, что я использовал только https для моей учетной записи GitHub. Мне нужно было убедиться, что моя учетная запись GitHub была настроена для доступа ssh, и что GitHub и heroku использовали оба открытых ключа. Это шаги, которые я предпринял:

  • Перейдите в каталог ~/.ssh и удалите id_rsa и id_rsa.pub, если они есть. Я начал с новых ключей, хотя это может и не понадобиться.

    $ cd ~/.ssh
    $ rm id_rsa id_rsa.pub
    
  • Следуйте инструкциям на gitHub в сгенерируйте ключи ssh
  • Войдите в heroku, создайте новый сайт и добавьте открытые ключи:

    $ heroku login
    ...
    $ heroku create
    $ heroku keys:add
    $ git push heroku master
    

Ответ 5

У меня был тот же случай на linux ubuntu и он просто исправил его, похоже, что ОС была запутана между/root/.ssh/и home/user/.ssh/dir, что я сделал:

  • удалены все ключи из каталога root и home/user.shh.
  • сгенерировал новый ключ, обязательно обратите внимание на путь создания (/home/you/.ssh/id_rsa) или (/корень/.ssh/id_rsa)
  • проверить ключи героя heroku keys
  • если там есть клавиши heroku keys:clear
  • heroku keys:add теперь, если геройку не удалось найти ключ и попросил сгенерировать один правильный нет, и это означает, что у вас есть такая же проблема, как у меня, добавьте команду вроде этого heroku keys:add /root/.ssh/id_rsa.pub путь, Будет добавлен тот, который вы получили на шаге 2.
  • попробуйте git push heroku master сейчас

Ответ 6

Мой путь в 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 repo git init git add . git commit -m 'chore(release): v0.0.1

  • Создать приложение Heroku heroku create

  • Разверните приложение git push heroku master

  • Откройте приложение heroku open

Ответ 7

Имел подобную проблему и много раз пробовал. В конечном итоге для меня работала установка Gnu на Windows (https://github.com/bmatzelle/gow/releases) и убедитесь, что она использовала инструмент ssh внутри этого каталога а не с Git. После установки теста с (убедитесь, что он находится в вашей среде PATH, которая предшествует Git\bin)

C:\Git\htest2>which ssh
C:\Program Files (x86)\Gow\bin\ssh.BAT

Я использовал шпатлевку и сцену, как описано здесь: http://rubyonrailswin.wordpress.com/2010/03/08/getting-git-to-work-on-heroku-on-windows-using-putty-plink-pageant/

Как только ключи были отправлены в герою (ключи героя: добавьте c:\Users\Person.ssh\id_rsa.pub), используйте

ssh -v <username>@heroku.com 

и убедитесь, что ваш стек показывает использование Putty - то есть рабочий стек:

Looking up host "heroku.com"
Connecting to 50.19.85.132 port 22
Server version: SSH-2.0-Twisted
Using SSH protocol version 2
**We claim version: SSH-2.0-PuTTY_Release_0.62**
Using Diffie-Hellman with standard group "group1"
Doing Diffie-Hellman key exchange with hash SHA-1
Host key fingerprint is:
ssh-rsa 2048 8b:48:5e:67:0e:c9:16:47:32:f2:87:0c:1f:c8:60:ad
Initialised AES-256 SDCTR client->server encryption
Initialised HMAC-SHA1 client->server MAC algorithm
Initialised AES-256 SDCTR server->client encryption
Initialised HMAC-SHA1 server->client MAC algorithm
Pageant is running. Requesting keys.
Pageant has 1 SSH-2 keys
Using username "*--ommitted for security--*".
**Trying Pageant key #0**
Authenticating with public key "rsa-key-20140401" from agent
Sending Pageant response
Access granted
Opened channel for session
Server refused to allocate pty
Server refused to start a shell/command
FATAL ERROR: Server refused to start a shell/command

Тот, который выполнялся ранее и не выполнялся:

C:\Git\htest2>ssh -v <username>@[email protected]
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Connecting to heroku.com [50.19.85.156] port 22.
debug1: Connection established.
debug1: identity file /c/Users/Person/.ssh/identity type -1
debug1: identity file /c/Users/Person/.ssh/id_rsa type 1
debug1: identity file /c/Users/Person/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version Twisted
debug1: no match: Twisted
debug1: Enabling compatibility mode for protocol 2.0
**debug1: Local version string SSH-2.0-OpenSSH_4.6**
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Host 'heroku.com' is known and matches the RSA host key.
debug1: Found key in /c/Users/Person/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /c/Users/Person/.ssh/identity
debug1: Offering public key: /c/Users/Person/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug1: Trying private key: /c/Users/Person/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).

Ответ 8

вам нужно создать новый ключ ssh, введя следующие - ssh-keygen -t rsa

Затем вам нужно добавить: - ключи героя: добавьте

Тогда, если вы наберете - heroku open

Проблема решена.

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

Ответ 9

Я получил ту же ошибку, и потому что у меня есть 4 ssh-keys, поэтому я попробовал:

ssh-keygen -t rsa
heroku keys:add

то четыре варианта показывают:

1) github_rsa.pub
2) id_boot2docker.pub
3) id_rsa.pub
4) sshkey.pub

Я выбираю 3), самый новый

Затем я исправляю ошибку.

Ответ 10

Я использую этот метод для решения этой проблемы Возможно, вы можете попробовать.

"Включить ssh-agent"

  • Загрузить git

http://git-scm.com/

  • Установите его

  • Включить ssh-agent

C:\Program Files\ Git\cmd

запуск SSH-агент

Отключение сообщения после активации I-агента Надеюсь, это поможет вам.

Ответ 11

У меня была такая же проблема. И я попробовал reset мои ключи, как все сказали, но это все еще не сработало. Потому что я переименовал приложение.

Так что я сделал с reset моими ключами, а также переименовал приложение из консоли. Проверьте этот вопрос для получения дополнительной информации: Проблема с Heroku push app

Ответ 12

SO Итак, простое решение, перейдите к c:/Users/user_name/.ssh/и удалите все пары pub/private key, таким образом, герой создаст вам ключи.

Ответ 13

У меня была подобная ошибка ssh heroku, которую я не мог решить.

В качестве обходного пути я использовал новую функцию heroku http- git (http-транспорт для удаленной системы "heroku" вместо ssh). Подробности здесь: https://devcenter.heroku.com/articles/http-git

(Короткая версия: если у вас уже есть стандартный проект, запустите heroku git: remote --http-init, чтобы изменить "heroku" удаленно на http.)

Хорошая быстрая работа, если у вас нет времени на исправление/устранение проблемы с ssh.

Ответ 14

Я хотел бы добавить другое решение, так как не видел его здесь. Моя проблема заключалась в том, что героику связывался с неправильным URL (так как я продолжал играть с именами url). Редактирование удаленного URL-адреса решило мою проблему:

git remote set-url heroku <heroku-url-here>