Я пытаюсь развернуть свой код на heroku с помощью следующей командной строки:
git push heroku master
но получите следующую ошибку:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Я уже загрузил свой публичный ключ SSH, но он все еще появляется с этой ошибкой.
heroku login
написать письмо и пароль и повторить попытку.Ответы:
Вы должны загрузить свой открытый ключ в Heroku:
Если у вас нет открытого ключа, Heroku предложит вам добавить его автоматически, что работает без проблем. Просто используйте:
Чтобы очистить все ваши предыдущие ключи, сделайте:
Для отображения всех существующих ключей выполните:
РЕДАКТИРОВАТЬ:
Вышеуказанное, похоже, не работает для меня. Я возился с
HOME
переменной окружения, и поэтому SSH искал ключи в неправильном каталоге.Чтобы убедиться, что SSH проверяет ключ в правильном каталоге, выполните:
Который будет отображать следующие (примерные) строки
Permission denied (publickey).
Из вышесказанного вы могли заметить, что ssh ищет ключи в
/c/Wrong/Directory/.ssh
каталоге, в котором у нас нет открытых ключей, которые мы только что добавили в heroku (используяheroku keys:add ~/.ssh/id_rsa.pub
) ( обратите внимание, что в Windows OS~
ссылается наHOME
путь, который в winC:\Users\UserName
7/8 есть )Для просмотра вашего текущего домашнего каталога выполните:
echo $HOME
илиecho %HOME%
(Windows)Для
HOME
правильной установки вашего каталога (под правильным я имею в виду родительский каталог.ssh
каталога, чтобы ssh мог искать ключи в правильном каталоге), используйте следующие ссылки:SO Ответ о том, как установить постоянную переменную среды Unix
Так что вопрос по ssh ищет ключи в неправильном каталоге и решение для того же.
источник
heroku keys:add
ssh-keygen -t rsa -C "your_email@youremail.com"
если у вас все еще есть ошибка, создать еще один файл file.pub и использовать его в рекомендованной команде в этом ответеУ меня была та же самая проблема, шаги ниже работали для меня,
abc@gmail.com & пароль
->ssh-keygen -t rsa -f id_rsa
Если запрашивается какая-либо фраза-пароль, не используйте пробел, заполните ее паролем, но не забудьте об этом.
После генерации ключа его нужно добавить, вот так
а это к героку
сменить каталог на рабочую область, чем
используйте пароль, который вы установили выше.
На самом деле я также удаляю файлы ниже, но не уверен, что они являются чертями,
C: \ Users \ yourusername.heroku \ credientals и C: \ Users \ yourusername.ssh \ known_hosts
источник
Github for Windows
, но нет файла id_rsa.git bash
командной строке, чтобы запустить ssh-keygen. Спасибо.Эта проблема была со мной в течение нескольких дней.
Это может помочь.
1) Узнайте, какие ключи у вас есть в Heroku сейчас.
2) Создайте файл ~ / .ssh / config:
Редактировать с этой информацией
источник
User
в этой последней строке должен быть разрыв строки. Кроме того, он пожаловался на#
комментарий, поэтому я просто удалил его.host
информации в мой конфигурационный файл решило проблему для меня. Я создал ключ heroku rsa, и по умолчанию права на heroku.pub выдавали ошибку, когда я пыталсяgit push
. Мне пришлось,chmod 600 heroku.pub
а потом, когда я нажал, это сработало.IdentityFile ~/.ssh/ssh-dss
путь к закрытому ключу Вы хотите ввести здесь свой закрытый ключ, а не свой открытый ключ.Вот ссылка, которая объясняет, как управлять вашими SSH-ключами: https://devcenter.heroku.com/articles/keys#adding-keys-to-heroku
источник
У меня была та же проблема, потому что у меня не было открытых ключей, поэтому я сделал:
Это сгенерирует открытый ключ, и тогда он будет работать хорошо
источник
Если вы являетесь пользователем Windows, другие решения здесь, вероятно, не решат вашу проблему.
Я использую Windows 7 64-Bit + Git-1.7.7.1-preview20111027, и решение было скопировать мои ключи из
C:\users\user\.ssh
вC:\Program Files (x86)\Git\.ssh
. Вот где этот git-клиент ищет ключи при нажатии на heroku.Надеюсь, это поможет.
источник
%HOME%
переменной среды в%USERPROFILE%
.Это было решение для меня:
источник
chmod 600 ~/.ssh/heroku_rsa
Чтобы поделиться своим опытом:
Git (моя собственная установка) искал ключ с именем 'id_rsa'.
Поэтому я попытался переименовать мои ключи в «id_rsa» и «id_rsa.pub», и это сработало.
Кстати, я уверен, что есть другой способ сделать это, но я еще не посмотрел глубже.
источник
Если вы уже загрузили ключ, попробуйте удалить его, а затем повторно загрузить его с новым ключом.
это должно работать.
источник
Must specify KEY to remove
Я убивал себя в течение 3 дней, пробуя каждую возможную комбинацию, чтобы попытаться заставить это работать - я наконец попытался сделать ключ DSA вместо этого, и это работало.
Попробуйте DSA вместо RSA, если он не работает для вас.
(Я использую Ubuntu 11.10, ruby 1.8.7, heroku 2.15.1)
источник
В Windows 7,64 бит вышеупомянутое решение (Onur Turhan's) работало для меня с небольшими изменениями, как показано ниже
Введите адрес электронной почты / пароль
Это сгенерировало два файла (id_rsa и id_rsa.pub) в моем каталоге c: \ Users \ MyName (не в каталоге .ssh)
Я думаю, что добавление правильного файла "id_rsa.pub" является наиболее важным. После генерации открытого ключа с помощью keygen просто убедитесь, что вы добавляете правильный ключ, посмотрев на отметку времени, когда он был создан.
источник
Работает одна команда:
Это сделает один, если это не существует.
источник
heroku keys:add
не является полным ответом.У меня была эта проблема, когда TortoiseGIT был установлен на моей машине. После изменения переменной среды
GIT_SSH
изв
и после этого урока с
ssh-keygen
иkeys:add
, это работает!источник
Pushing работал на меня, а затем внезапно остановился.
Если в приложении heroku api возникают простои, вы получите эту ошибку при попытке нажать кнопку.
Проверьте:
https://status.heroku.com/
до того, как взбеситься слишком сильно.
источник
Последовательность, чтобы следовать
При выполнении второго оператора будет запрашиваться ввод, просто нажмите Enter (возврат) три раза и ключ будет добавлен.
источник
Приведенный выше ответ работает, но обнаружил, что мне нужно было сделать несколько дополнительных шагов, прежде чем это сработало.
источник
Для всех тех, кто попробовал все вышеупомянутое на Windows 7, и все же это не сработало, вот что я сделал: - откройте GitBash.exe из каталога Git C: \ Program Files (x86) \ Git \ (don ' откройте командную строку, это не будет работать). - добавьте следующее, как упомянуто выше , но вы должны удалить #
сейчас запускаем git push heroku master и все должно работать.
источник
Похоже, ваш
~/.ssh/authorized_keys
файл настроен неправильно. Подтвердите это:~/.ssh
0700.источник
Я должен был сделать:
Тогда это сработало:
источник
Проверь свой .ssh конфиг на героку. Перейдите в папку .ssh и откройте файл конфигурации
'Subl' для Sublime Text, но вы можете использовать любой редактор, который пожелаете. Найдите строку «IdentityFile» и убедитесь, что в ней есть открытый ключ:
не
Это сделало это для меня. Я не уверен, почему у меня была общедоступная версия в файле конфигурации, но он сделал, и это выдавало ошибку:
источник
У меня все еще были проблемы после попытки всех этих идей. Это была моя проблема:
Мой удаленный репозиторий Heroku был в восторге. Я обновил его следующим образом:
Тогда удалите героку, который не так
Затем добавьте новый
Вы можете получить sitename на странице настроек Heroku для своего приложения. Удачи!
источник
Проблема, с которой я столкнулся, была в Windows, и каждый раз, когда я запускал команду «heroku keys: add», он выбирал клавиши github. Итак, вот шаги, которые я следовал, чтобы решить проблему
Приведенная выше команда попросила меня сгенерировать новые ключи, после чего был получен вывод Не удалось найти существующий открытый ключ. Вы хотите создать один? [Yn] Y Создание нового открытого ключа SSH. Загрузка открытого ключа SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub ... сделано! Драгоценный камень 'heroku' устарел и заменен на инструментальный пояс Heroku. Загрузите и установите его с https://toolbelt.heroku.com .
Приведенная выше команда не выдаст следующий вывод. Найдено существующий открытый ключ: C: / Documents and Settings / Admin / .ssh / id_rsa.pub Загрузка открытого ключа SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub .. . сделанный
для меня с помощью вышеуказанных шагов решил проблему и смог развернуть приложение в облаке.
источник
Я испытывал ту же проблему; следующие шаги должны помочь:
.pub
файлы иknow_host
) в.ssh/ folder
источник
Permission denied (publickey).
Я просто хотел бы добавить, что каталог не обязательно C: \ Users \ [username] \. Ssh. Это каталог, в котором вы создали свой открытый ключ.
Например, мой домашний каталог в Windows был изменен на C: \ [имя пользователя]. Ваш домашний каталог в подпапке .ssh - лучшее и наиболее вероятное место, где вы, возможно, создали свои ключи. Вы можете проверить свой домашний каталог в Windows с помощью команды:
источник
Если вы хотите использовать «sudo», пример:
Вы также должны сгенерировать ключ ssh для пользователя root.
и это сработает.
если вы не используете пользователя root, вместо этого сгенерируйте ключ ssh в своем каталоге пользователя.
Извините, если мои предложения испортились ...
источник
Попробуйте восстановить разрешения в Дисковой утилите (Mac OS X). Помог мне
источник
Сначала убедитесь, что скрытые файлы видны на вашем 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
NB Я сделал это в Mac OSX 10.7.2 Lion. Хотя процедура должна быть такой же и в других.
источник
У меня есть и эта проблема. Я использую Mac OSX. То, как я исправил это было войти в систему как администратор
источник
Решение dmajkic поможет мне наконец:
Для пользователей Windows это может означать: клиент git не может найти ваши ключи. Проверьте ключи в c: \ Users \ UserName.ssh \ and! переменная окружения HOME = c: \ Users \ UserName \
источник
Вот что сработало для меня. Сайт heroku не добавляется к вашим известным хостам. Зайдите в окно-другое-покажите репозитории view-git-git. Оттуда клонирует хранилище. Как только вы клонируете его, удалите только что созданный репозиторий, а затем импортируйте его из меню «Файл». Делайте это, поскольку при клонировании репозитория он не добавляется в представление проводника. Теперь у вас должен быть репозиторий git и представление проводника.
источник