Отказано в разрешении (открытый ключ) при развертывании кода heroku. фатальный: удаленный конец неожиданно повесил трубку

Я пытаюсь развернуть свой код на heroku с помощью следующей командной строки:

git push heroku master

но получите следующую ошибку:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

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


person Community    schedule 24.11.2010    source источник
comment
у вас сработало решение себармели? Я не использую ключ rsa с именем id_rsa.pub и просто ввел ключи heroku: add ~ / .ssh / ‹rsa_key_filename› .pub   -  person Michael Merchant    schedule 05.10.2011
comment
У меня была эта проблема почти год назад, и предложенное решение в то время не совсем сработало для меня, но я как-то понял это (на данный момент я не помню, что именно я сделал). Себармели ответил через некоторое время после того, как я больше не нуждался в помощи, хотя, похоже, его ответ довольно популярен среди тех, кто столкнулся с подобной проблемой. Если это сделает людей счастливыми, я выберу его ответ как правильный.   -  person vich    schedule 05.10.2011
comment
Следующая строка решила проблему для меня. Учетные записи heroku: установить свою учетную запись   -  person Mingming    schedule 14.01.2012
comment
Кажется, некоторые службы heroku сегодня не работают - обязательно проверьте их сайт на наличие проблем, если вы отлаживаете это!   -  person Philip Guin    schedule 04.09.2013
comment
У меня была та же проблема, все, что мне нужно было сделать, это heroku login затем написать адрес электронной почты и пароль и повторить попытку.   -  person Alejandro Veintimilla    schedule 07.06.2014


Ответы (34)


Вы должны загрузить свой открытый ключ в Heroku:

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

Если у вас нет открытого ключа, Heroku предложит вам добавить его автоматически, что работает без проблем. Просто используйте:

heroku keys:add

Чтобы очистить все ваши предыдущие ключи, сделайте:

heroku keys:clear

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

heroku keys

РЕДАКТИРОВАТЬ:

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

Чтобы убедиться, что SSH проверяет ключ в правильном каталоге, выполните:

ssh -vT [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/Wrong/Directory/.ssh/identity type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_rsa type -1
debug1: identity file /c/Wrong/Directory/.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/Wrong/Directory/.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/Wrong/Directory/.ssh/identity
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_rsa
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_dsa
debug1: No more authentication methods to try.

Permission denied (publickey).

Из приведенного выше вы могли заметить, что ssh ищет ключи в каталоге /c/Wrong/Directory/.ssh, а не в том месте, где у нас есть открытые ключи, которые мы только что добавили в heroku (используя heroku keys:add ~/.ssh/id_rsa.pub) (Обратите внимание, что в ОС Windows ~ относится к HOME путь, который в выигрыше 7/8 равен C:\Users\UserName)

Чтобы просмотреть текущий домашний каталог, выполните: echo $HOME или echo %HOME% (Windows)

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

  1. SO Ответ о том, как установить среду Unix переменная постоянно

  2. Вопрос SO относительно ssh, ищущего ключи в неправильном каталоге, и решения для него.

person Community    schedule 19.05.2011
comment
У меня не получилось. Мне пришлось отозвать свой старый ключ, а затем позволить приложению heroku сгенерировать и загрузить для меня новый. См. Ссылку о том, как это сделать, предоставленную Lithium. - person borisdiakur; 27.10.2011
comment
просто примечание для людей, говорящих, что это не сработало. вам нужно убедиться, что у вас уже есть открытый ключ ssh. help.github.com/mac-set-up-git для получения дополнительной информации. информация о том, как это сделать с Mac. - person Ryan; 28.12.2011
comment
У меня это сработало: хотя я загрузил свой ключ паба на github, я не загрузил его и на Heroku. - person Steve Pitchers; 09.03.2012
comment
если у вас нет открытого ключа, heroku предложит вам добавить его автоматически, что работает без проблем. Просто используйте: heroku keys:add - person vansan; 09.07.2012
comment
Также попробуйте ssh-keygen -t rsa -C "[email protected]", если ошибка по-прежнему возникает, чтобы создать еще один file.pub и использовать его в рекомендованной команде в этом ответе. - person Tom Roggero; 23.10.2012
comment
что, если я все равно не хочу отзывать свой старый ключ и добавлять новый? мне нужен такой же ключ на других компьютерах? - person Mihai Bujanca; 10.04.2013
comment
heroku keys:add найдет существующий ключ SSH и загрузит его. Тем не менее, Permission denied (publickey) повторится снова. - person Alvaro Lourenço; 01.05.2013
comment
Возможно, вам придется создать / воссоздать ключ перед добавлением в heroku. whatibroke.com/?p=284 у меня работал в Windows 7. - person Khalid Saifullah; 24.05.2013
comment
ssh-add /Users/YourName/.ssh/your_heroku_key - это то, о чем я изначально забыл. - person LeEnno; 03.11.2013
comment
в Windows вам также необходимо скопировать свой ключ в каталог git / .ssh. см. gmarwaha.com/ blog / 2011/05/18 / После того, как я попробовал ВСЕ еще, это сработало для меня. - person Joseph Eames; 14.11.2013
comment
классно! для пользователей Windows используйте git bash - person Jorge Guerola; 23.02.2014
comment
Отлично работает, когда вы создали ключи. Если у вас несколько ключей, добавьте тот, который вам нужен. - person ; 26.04.2014
comment
Я думаю, что есть ошибка с гемом heroku. Это не позволит мне использовать открытый ключ, отличный от того, который находится в местоположении по умолчанию. - person Abe Petrillo; 27.03.2015
comment
Запуск ключей heroku: добавление исправило мою проблему. Однако у меня возникли проблемы с генерацией ключей, поэтому мне пришлось выполнить новую установку git для Windows, после чего я могу это сделать из нового cmd с правами администратора. - person Jpepper; 17.10.2016

У меня была такая же проблема, приведенные ниже шаги сработали для меня,

->heroku login

[email protected] и пароль

->cd C:\Users\yourusername\.ssh    (OR for cygwin shell ->cd ~/.ssh)

->ssh-keygen -t rsa -f id_rsa

при запросе какой-либо ключевой фразы не используйте пробел, введите парольную фразу, но не забывайте ее.

После генерации ключа вам нужно добавить его, вот так

$ ssh-add

и это герою

->heroku keys:add "id_rsa.pub"

сменить каталог на рабочую область, чем

->git clone [email protected]:stark-dawn-1234.git -o heroku

используйте кодовую фразу, которую вы установили выше.


На самом деле я также удаляю файлы ниже, но не уверен, что они имп,

C: \ Users \ yourusername.heroku \ credientals и C: \ Users \ yourusername.ssh \ known_hosts

person Community    schedule 03.11.2011
comment
Это решило проблему для меня. Я думаю, причина в том, что у меня был файл github_rsa от Github for Windows, но не было файла id_rsa. - person msiemens; 04.07.2012
comment
Не работал с установщиком Openssl. Мне пришлось установить CopSSH, чтобы получить программу ssh-keygen.exe. - person djangofan; 14.06.2013
comment
В Windows 7 мне пришлось сделать это в git bash командной строке, чтобы запустить ssh-keygen. Благодарю. - person Rots; 27.06.2013
comment
Это сработало для меня и кажется лучшим решением. Лучше спросить, почему я должен повторять это через день - person Paul Renton; 25.07.2013
comment
Это сработало для меня. Если вы используете Git Bash в Windows, ключ ДОЛЖЕН называться id_rsa.pub, иначе он не будет работать, даже если вы загрузите что-то еще в Heroku. - person Kiv; 01.08.2013
comment
Используя Cygwin, вы должны cd в свой [домашний каталог Cygwin] ~/.ssh вместо C:\Users\yourusername\.ssh - person Jeff Axelrod; 15.08.2013
comment
Используя ubuntu 14.04, у меня возникла проблема с heroku git: clone -a myapp ... поэтому я попробовал этот git clone [email protected]: myapp.git -o heroku , и это решило мою проблему с публичным ключом без разрешения. Спасибо за отличный совет! - person hailton; 20.11.2014
comment
Точно так же, как указано в комментарии выше, если вы используете Git Bash в Windows, ожидается, что id_rsa.pub будет существовать с id_rsa в ~ / .ssh /. Это странно, потому что в большинстве оболочек вам не нужен открытый ключ. - person Jason R; 23.12.2014
comment
Это исправило для меня, так как у меня несколько ключей, он предлагал неправильный ключ. ssh-add /path/to/my/key - person Rob; 09.07.2015
comment
Просто выполняю ssh-add ‹key_file_name› ‹alias› исправил это для меня - person gabrielfreiberg; 24.02.2016

Эта проблема мучила меня несколько дней.

Это может помочь.

1) Узнайте, какие ключи у вас есть в Heroku сейчас.

$ heroku keys
=== 1 key for [email protected]
ssh-dss AAAAB8NzaC...DVj3R4Ww== [email protected]

2) Создайте файл ~ / .ssh / config:

$ sudo vim ~/.ssh/config

Редактировать с этой информацией

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss # location and name of your private key
TCPKeepAlive yes 
User [email protected]
person Community    schedule 16.01.2012
comment
Это сработало и для меня, после того, как ничего не помогло! Однако в последней строке перед User должен быть разрыв строки. Кроме того, он пожаловался на комментарий #, поэтому я просто удалил его. - person Erik J; 08.08.2012
comment
Убедитесь, что в IdentityFile есть непубличный файл (как указано выше), а не общедоступный. По какой-то причине у меня была общедоступная версия, и она выдавала ошибку, говоря, что разрешения для файла неверны. - person Kevin K; 26.09.2012
comment
Добавление этой host информации в мой файл конфигурации решило проблему для меня. Я создал ключ heroku rsa, и разрешения по умолчанию на heroku.pub вызвали ошибку, когда я попытался git push. Мне пришлось chmod 600 heroku.pub, а потом, когда я нажал, это сработало. - person Dylan Valade; 12.10.2012
comment
IdentityFile ~/.ssh/ssh-dss - это путь к закрытому ключу. Вы хотите ввести здесь свой закрытый ключ, а не свой открытый ключ. - person HairOfTheDog; 25.04.2013
comment
Всем спасибо. У меня это сработало, когда-то использовал закрытый ключ (то есть тот, без расширения pub). - person Yosep Kim; 05.10.2013
comment
Этот ответ поставил меня на первое место. Я использую 64-разрядную версию Windows 7. Есть ряд других шагов, которые помогли, например: ssh-keygen -t rsa -f id_rsa затем удаление любых ключей heroku и добавление только что созданного: heroku keys: clear heroku keys: добавить C: \ Users \ username \ .ssh \ id_rsa.pub, а затем немного изменив указанный выше файл на IdentityFile C: /Users/windows_username/.ssh/id_rsa - person Paul; 18.10.2013
comment
Я пробовал бесчисленное количество подходов к этому в Интернете, и ваш единственный, который сработал. Меня действительно беспокоит, что я до сих пор не совсем понимаю, в чем была проблема, но спасибо, что опубликовали это. - person Zach Conn; 11.12.2013
comment
Документ Heroku предполагает, что вы никогда не использовали ключи ssh. На самом деле ключи ssh используются для множества вещей. Всего две строчки в ~ / .ssh / config сделали это за меня. Host heroku.com IdentityFile ~/.ssh/YOURSSHPRIVATEKEYFILE - person niknah; 21.09.2014

Вот ссылка, объясняющая, как управлять ключами ssh: https://devcenter.heroku.com/articles/keys#adding-keys-to-heroku

person Community    schedule 14.08.2011
comment
Heroku никогда не предлагал мне добавить его. Так что сначала мне пришлось сделать ssh-keygen. Это помогло. Спасибо! - person Kal; 05.01.2013
comment
Этот сработал для меня. Создан новый ключ, в моем случае перезаписываю старый, затем выбираю id_rsa.pub для использования с heroku. Спасибо - person jfoutch; 14.09.2013

У меня была такая же проблема, потому что у меня не было открытых ключей, поэтому я сделал:

heroku keys:clear
heroku keys:add

Это сгенерирует открытый ключ, и тогда он будет хорошо работать

person Community    schedule 29.04.2012
comment
По-прежнему возникает ошибка. Я пробую разные вещи, решаю их, а на следующей неделе получаю ту же проблему ... Интересно, почему Heroku такой. - person JGallardo; 09.11.2013

Если вы пользователь Windows, другие решения здесь, вероятно, не решат вашу проблему.

Я использую 64-разрядную версию Windows 7 + Git-1.7.7.1-preview20111027, и решением было скопировать мои ключи с C:\users\user\.ssh на C:\Program Files (x86)\Git\.ssh. Вот где этот git-клиент ищет ключи при нажатии на heroku.

Надеюсь, это поможет.

person Community    schedule 10.11.2011
comment
Для меня это был c: \ msysgit \ .ssh. Я только что создал соединение каталогов с папкой .ssh в моей личной папке. - person Colin Bowern; 29.11.2011
comment
Здесь та же проблема, но почему я не знаю. Каждый раз, когда я добавлял ключи, отображалось, что они использовали ключи из моей папки User, то же самое с этим исправлением, но оно работало. - person Haris Krajina; 09.04.2012
comment
НЕ ДЕЛАЙТЕ ЭТОГО! Это работает, потому что HOME пуст, и по умолчанию используется текущий исполняемый каталог. Если кому-то удастся войти в систему как Гость, он сможет получить ваш закрытый ключ. Установите HOME в расширенных настройках пользователя на% HOME_DRIVE %% HOMEPATH% (или C: \ Users \ ‹username› в Win7) и скопируйте туда каталог .ssh. - person dmajkic; 23.05.2012
comment
В дополнение к @dmajkic в Win7 см. Этот Совет Git для Windows по установке переменной среды %HOME% на %USERPROFILE%. - person Steve Eynon; 01.04.2014

Для меня это было решением:

ssh-add ~/.ssh/my_heroku_key_rsa
person Community    schedule 14.02.2012
comment
То же самое. Спасибо. Кроме того, убедитесь, что с вашим закрытым ключом связаны соответствующие разрешения. chmod 600 ~/.ssh/heroku_rsa - person Arnaud Brousseau; 31.01.2013
comment
спасибо - это тоже была моя проблема, и мне сначала нужно было последовать совету Арно. - person Mike Atlas; 11.06.2013

Чтобы поделиться своим опытом:

Git (моя собственная установка) искал ключ с именем id_rsa.

Поэтому я попытался переименовать свои ключи в id_rsa и id_rsa.pub, и это сработало.

Кстати, я уверен, что есть другой способ сделать это, но я еще не смотрел глубже.

person Community    schedule 15.06.2012
comment
У меня работал (Windows 7 64bit). У меня установлен GitHub для Windows, и он называет ключи GitHub_rsa. Есть ли способ указать, какой ключ должен использовать Git? - person Spongeboy; 09.04.2013

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

 heroku keys:remove //removes the existing key
 ssh-keygen -t rsa //generates a new key in ~/.ssh folder
 heroku keys:add    //uploads the new key, if no arguments r passed then the key generated                              
                    //in default directroy i.e., ~/.ssh/id_rsa is uploaded
 git push heroku

это должно работать.

person Community    schedule 07.06.2012
comment
Спасибо, у меня это сработало. Хотя я использовал клавиши heroku: clear вместо клавиш heroku: remove. - person Peter de Ridder; 27.07.2013
comment
Неправильно, Must specify KEY to remove - person JGallardo; 09.11.2013

Я убил себя в течение 3 дней, пробуя всевозможные комбинации, чтобы попытаться заставить это работать - я, наконец, попробовал создать ключ DSA, и это сработало.

Попробуйте использовать DSA вместо RSA, если он вам не подходит.

(Я использую Ubuntu 11.10, ruby ​​1.8.7, heroku 2.15.1)

person Community    schedule 05.12.2011
comment
Я поговорил со службой поддержки Heroku, и они предложили это как временное решение. У меня это сработало, но я уверен, что это не ответ для каждого случая. - person Sauce McBoss; 07.02.2012
comment
Не уверен, почему этот ответ заслужил отрицательное голосование ... Он решил проблему для меня и предлагает ответ на проблему. - person Sauce McBoss; 27.02.2012
comment
У меня была противоположная проблема ... хотя в документации разработчиков Heroku говорится, что вы можете использовать ключ DSA (ssh-dss), я продолжал получать сообщение `` Permission denied '', пока не переключился на ключ RSA - person brandonjp; 11.03.2012
comment
работал у меня. Переключение между dsa и rsa, похоже, работает, если вы меняете свои ключи после создания heroku и до git push. - person Pramod; 22.07.2012
comment
и как мне создать ключ DSA и добавить его в heroku? - person coiso; 14.03.2014

В Windows 7,64 бит вышеупомянутое решение (Onur Turhan's) сработало для меня с небольшими изменениями, как показано ниже.

C:\Users\MyName > heroku login

Введите адрес электронной почты / пароль

C:\Users\MyName >ssh-keygen -t rsa -f id_rsa

Это сгенерировало два файла (id_rsa и id_rsa.pub) в моем каталоге c: \ Users \ MyName (не в каталоге .ssh)

heroku keys:add id_rsa.pub
git clone [email protected]:some-heiku-xxxx.git -o heroku

Я предполагаю, что добавление правильного файла "id_rsa.pub" является наиболее важным. После генерации открытого ключа с помощью генерации ключей просто убедитесь, что вы добавляете правильный ключ, посмотрев на отметку времени, когда он был создан.

person Community    schedule 21.11.2011

Работает одна-единственная команда:

heroku keys:add

Он сделает его, если его не существует.

person Community    schedule 17.07.2012
comment
Голосовать против, это не ответ в контексте ошибки. Я удалил существующие, создал новые и добавил ключи, но проблема не исчезла. ваше предложение heroku keys:add не является полным ответом. - person JGallardo; 09.11.2013

У меня была эта проблема, когда на моем компьютере был установлен TortoiseGIT. После изменения переменной окружения GIT_SSH с

"c:\Program Files\TortoiseGit\bin\TortoisePlink.exe"

to

"c:\Program Files (x86)\Git\bin\ssh.exe"

и, следуя этому руководству с ssh-keygen и keys:add, он работает!

person Community    schedule 14.08.2012
comment
какому руководству вы следовали? - person eckes; 15.08.2012
comment
тот, что здесь от Онура Турхана - person zooli; 08.09.2012
comment
Использование ssh, предоставляемого Git, - очень хорошее решение. Здесь действительно усложнялось понимание plink / pageant / putty ... - person Stéphane; 16.11.2012

Толкание сработало для меня, но затем внезапно прекратилось.

Если heroku api испытывает простои, вы получите эту ошибку, когда попытаетесь нажать.

Проверять:

https://status.heroku.com/

прежде чем слишком сильно волноваться.

person Community    schedule 20.10.2012

Последовательность действий

$ heroku login
$ ssh-keygen -t rsa
$ heroku keys:add

При выполнении второго оператора он запросит ввод, просто нажмите Enter (return) три раза, и ключ будет добавлен.

person Community    schedule 07.08.2013
comment
у многих был такой же ответ. и работает не так, как заявлено. - person JGallardo; 09.11.2013

Приведенный выше ответ ДЕЙСТВИТЕЛЬНО работает, но выяснилось, что мне нужно сделать несколько дополнительных шагов, прежде чем он сработает.

  1. Я удалил все файлы id_rsa * и создал новый SSH, используя это руководство.
  2. Затем я уничтожил приложение heroku. Удален файл ~ / .heroku / credentials.
  3. Команда 'heroku create' (и, поскольку файл учетных данных удален, вам будет предложено ввести адрес электронной почты / пароль.
  4. НАКОНЕЦ введите 'heroku keys: add', и он загрузит файл по умолчанию ~ / .ssh / id_rsa.pub.
  5. Оно работает! Что ж ... YMMV, но я действительно надеюсь, что это может помочь, поскольку я весь день боролся, пытаясь понять это! Ха-ха
person Community    schedule 07.10.2011

Для всех, кто пробовал все вышеупомянутое в Windows 7, но все равно это не сработало, вот что я сделал: - откройте GitBash.exe из каталога Git C: \ Program Files (x86) \ Git \ (don ' t откройте командную строку, это не сработает). - добавьте следующее, как указано выше, но вы должны удалить #

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss
TCPKeepAlive yes 
User [email protected]

теперь запустите git push heroku master, и он должен работать.

person Community    schedule 08.01.2014
comment
Проголосовать и за это тоже. Провел 6 часов со вчерашним днем ​​и не чувствую, что это знание меня вообще волнует. Я могу нажать на github через powershell и командную строку, но для heroku у меня работает только Git Bash. Теперь работает каждый раз. Я также завершаю вход в систему heroku перед мастером git push heroku. Возможно, в этом нет необходимости, но пока это суеверие заставляет меня делать это. Какой кошмар - person JMDenver; 17.02.2015

Похоже, ваш ~/.ssh/authorized_keys файл настроен неправильно. Подтвердите это:

  • Это правильный путь.
  • Разрешения файла - 0600.
  • Разрешения ~/.ssh: 0700.
person Community    schedule 24.11.2010
comment
Я новичок в этом, так что извините, если это будет звучать глупо, но мой открытый файл ключей SSH - это просто набор символов (стандартная генерация ключей) без другой информации. Я получил этот файл SSH при установке git на свой компьютер. Я предположил, что это будет тот же открытый SSH-ключ, который я буду использовать для развертывания моего кода heroku. Или у heroku есть собственный открытый SSH-ключ, который мне нужно сгенерировать? - person vich; 24.11.2010
comment
Да, вы можете повторно использовать свой открытый SSH-ключ для множества разных хостов. Я не совсем уверен, как работает Heroku, но вижу, что мой ответ в данном случае не подходит. Вы можете убедиться, что ваш ключ был принят через их веб-интерфейс. Если все по-прежнему проходит успешно, попробуйте связаться с их службой поддержки. - person cdhowie; 24.11.2010
comment
Спасибо за совет! Я обратился в службу поддержки heroku. Я обновлю, как только у меня будет ответ. - person vich; 24.11.2010
comment
Ok. Мне тоже интересно узнать, в чем проблема. :) - person cdhowie; 24.11.2010
comment
Итак, проблема заключалась в названии файла общедоступного ключа SSH. Когда я изначально создавал файл, я также переименовал его, что вызывало проблемы при развертывании, поскольку git не мог подключиться должным образом и, таким образом, также приводил к сбою развертывания heroku. Чтобы решить эту проблему, я создал новый открытый ключ SSH и добавил его в github перед повторной попыткой. Теперь он подключается! Спасибо за вашу помощь! - person vich; 24.11.2010

Пришлось сделать:

$ ssh-keygen -t rsa  
$ heroku keys:add  

Тогда это сработало:

$ git push heroku master  
person Community    schedule 08.07.2012

Проверьте свою конфигурацию .ssh на наличие heroku. Перейдите в папку .ssh и откройте файл конфигурации

cd ~/.ssh
subl config

Subl предназначен для Sublime Text, но вы можете использовать любой редактор, какой захотите. Найдите строку «IdentityFile» и убедитесь, что в ней указан непубличный ключ:

IdentityFile "/Users/ircmullaney/.ssh/my_ssh"

нет

IdentityFile "/Users/ircmullaney/.ssh/my_ssh.pub"

Это сделало это для меня. Я не уверен, почему у меня была общедоступная версия в файле конфигурации, но она была, и она выдавала ошибку:

Permissions 0644 for '/Users/ircmullaney/.ssh/my_ssh.pub' are too open.
person Community    schedule 26.09.2012

После того, как я испробовал все эти идеи, у меня все еще были проблемы. Это была моя проблема:

Мой удаленный репозиторий heroku был заблокирован. Я обновил его следующим образом:

git remote -v

Затем удалите тот героку, который неверен:

git remote rm heroku

Затем добавьте новый

git remote add heroku [email protected]:sitename.git

Вы можете получить имя сайта на странице настроек Heroku для своего приложения. Удачи!

person Community    schedule 25.11.2012

Проблема, с которой я столкнулся, была в Windows, и неизменно всякий раз, когда я запускаю «heroku keys: add», она выбирает ключи github. Итак, вот шаги, которые я выполнил, чтобы решить проблему.

  1. перешел в каталог .ssh в папке «Документы и настройки» и удалил ключи концентратора git
  2. запустите команду heroku keys: add

Вышеупомянутая команда попросила меня сгенерировать новые ключи, и после этого был получен результат: Не удалось найти существующий открытый ключ. Хотели бы вы его создать? [Yn] Y Создание нового открытого ключа SSH. Загрузка открытого ключа SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub ... готово! Драгоценный камень heroku устарел и заменен на Heroku Toolbelt, загружаемый и устанавливаемый с https://toolbelt.heroku.com < / а>.

  1. перезапустите команду heroku keys: добавить

Приведенная выше команда не даст следующий результат. Найден существующий открытый ключ: C: / Documents and Settings / Admin / .ssh / id_rsa.pub Загрузка открытого SSH-ключа C: / Documents and Settings / Admin / .ssh / id_rsa.pub .. . сделано

  1. Теперь используйте мастер git push heroku

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

person Community    schedule 18.12.2012

У меня была такая же проблема; следующие шаги должны помочь:

  1. Сначала авторизуйтесь: heroku login
  2. Очистить все ключи: ключи героку: очистить
  3. Удалить все файлы в локальной папке (все .pub файлы и know_host) в .ssh/ folder
  4. Войдите снова: heroku login - вы получите запрос без ключа, поэтому следуйте инструкциям на экране.
person Community    schedule 12.01.2013
comment
Не помогает решить проблему. Я вошел в систему, успешно добавил ключи, но все еще получаю Permission denied (publickey). - person JGallardo; 09.11.2013
comment
Почему нам нужно удалить все файлы в папке .ssh? - person Starx; 14.02.2014

Я просто хотел бы добавить, что каталог не обязательно C: \ Users \ [имя пользователя] \. Ssh. Это каталог, в котором вы создали свой открытый ключ.

Например, мой домашний каталог в Windows был изменен на C: \ [имя пользователя]. Ваш домашний каталог в подпапке .ssh - лучшее и, скорее всего, место, где вы могли создать свои ключи. Вы можете проверить свой домашний каталог в Windows с помощью команды:

    echo %HOMEPATH%
person Community    schedule 07.12.2011

Если вы хотите использовать «sudo», например:

sudo git clone [email protected]......... -o heroku

вы также должны сгенерировать ключ ssh для своего пользователя root.

sudo su
cd /root/.ssh  
ssh-keygen -t rsa
....
heroku keys:add id_rsa.pub

и это сработает.

если вы не используете пользователя root, вместо этого сгенерируйте ключ ssh в своем каталоге пользователя.

cd /home/user/.ssh

Извините, если мои предложения испортились ...

person Community    schedule 15.05.2012

Попробуйте восстановить разрешения в Дисковой утилите (Mac OS X). Помог мне

person Community    schedule 10.01.2013

Сначала убедитесь, что на вашем Mac видны скрытые файлы. Если нет:

  • Откройте терминал и введите defaults write com.apple.Finder AppleShowAllFiles TRUE
  • killall Finder

Следующие шаги:

  • Собираюсь на Users/user_name/.ssh/ удалил все файлы.
  • Тип открытия терминала в ssh-keygen -t dsa
  • Тогда heroku keys:add ~/.ssh/id_dsa.pub

N.B. Я делал это в Mac OSX 10.7.2 Lion. Хотя процедура должна быть такой же и у других.

person Community    schedule 13.02.2013

У меня тоже есть эта проблема. Я использую Mac OSX. Я исправил это, войдя в систему как администратор.

sudo su

пароль

person Community    schedule 25.04.2013

Решение dmajkic наконец помогло мне:

Для пользователей Windows это может означать: git client не может найти ваши ключи. Проверьте ключи в c: \ Users \ UserName.ssh \ и! переменная среды HOME = c: \ Users \ UserName \

person Community    schedule 07.06.2013

Вот что у меня сработало. Сайт heroku не добавляется к вашим известным хостам. Перейдите в репозитории window-other-show view-git-git. Оттуда клонируйте репозиторий. После клонирования удалите только что созданный репозиторий, а затем импортируйте его из меню файлов. Сделайте это, поскольку при клонировании репозитория он не добавляется в представление проводника. Теперь у вас должен быть репозиторий git и представление проводника.

person Community    schedule 28.09.2013

при нажатии с помощью

git push heroku production:master 

используется ваш открытый ключ в домашнем каталоге ~ / .ssh / id_rsa

Чтобы исправить это

вы должны войти в систему как другой пользователь может быть root

sudo su 

затем начните заново, введя следующие команды

heroku keys:clear //removes existing keys
ssh-keygen -t rsa //generates a new key in ~/.ssh folder (set a password)
heroku keys:add   //uploads the new key, ~/.ssh/id_rsa is uploaded                      
git push heroku production:master
person Community    schedule 06.11.2013

Если другие ответы не помогли вам. Попробуйте это!

Иногда все, что вам нужно, - это снова нажать. Это случилось со мной сегодня из-за медленного интернет-соединения (когда вы загружаете или используете p2p).

См. Снимок экрана ниже:

введите описание изображения здесь

person Community    schedule 26.08.2014

Вместо того, чтобы иметь дело с ключами SSH, вы также можете попробовать новую бета-поддержку HTTP Git Heroku. Он просто использует ваш токен API и работает на порту 443, поэтому нет ключей SSH или порта 22, с которыми можно было бы связываться.

Чтобы использовать HTTP Git, сначала убедитесь, что Toolbelt обновлен и что ваши учетные данные актуальны:

$ heroku update
$ heroku login

(это важно, потому что Heroku HTTP Git аутентифицируется немного иначе, чем остальная часть Toolbelt)

Во время бета-тестирования вы получаете HTTP, передавая флаг --http-git соответствующим командам heroku apps:create, heroku git:clone и heroku git:remote. Чтобы создать новое приложение и настроить его с помощью удаленного HTTP Git, запустите следующее:

$ heroku apps:create --http-git

Чтобы изменить существующее приложение с SSH на HTTP Git, просто запустите эту команду из каталога приложения на вашем компьютере:

$ heroku git:remote --http-git
Git remote heroku updated

Ознакомьтесь с документацией Центра разработки, чтобы узнать, как настроить HTTP Git для Heroku.

person Community    schedule 09.11.2014

Я переустановил heroku toolbelt, и все заработало.

person Community    schedule 29.01.2015