Ошибка Heroku: «В доступе отказано (открытый ключ)»

94

Я все время получаю эту ошибку. Я использую Mac. Я сгенерировал ключ и добавил его в heroku, используя

heroku config:add key="ssh-rsa blahblah=me@me.com"

Но это не работает. У меня все та же ошибка. Что я могу с этим поделать, кроме переустановки ssh-keygen?

Пикардо
источник

Ответы:

217

Попробуй heroku keys:add <path-to-your-public-key>.

Например, heroku keys:add ~/.ssh/id_rsa.pub

Сатистский
источник
2
На моем Hackintosh при установке Github для Mac предполагаемый файл находится по этому пути: ~ / .ssh / github_rsa.pub
Джахан
2
Также попробуйте ssh-keygen -t rsa -C "your_email@youremail.com", если ошибка не исчезла, чтобы создать еще один file.pub и использовать его в рекомендованной команде в этом ответе
Tom Roggero
19

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

Мое решение заключалось в том, чтобы просто ввести heroku keys:add

Вывод в терминале был:

Could not find an existing public key.
Would you like to generate one? [Yn] y
Generating new SSH public key.
Uploading SSH public key /home/funkdified/.ssh/id_rsa.pub... done

См .: https://devcenter.heroku.com/articles/keys

Абрам
источник
4

Я столкнулся с той же проблемой. Я пишу свой опыт, чтобы он помог кому-то другому.

Я пытался следовать инструкциям, которые были опубликованы на официальном сайте - Начало работы с вашим приложением Facebook на Heroku

Несмотря на то, что это довольно детально, особенно видео, довольно неприятно отметить, что они не упоминают о необходимости настройки ключей SSH. Либо он установлен по умолчанию (я не знаю), либо вы получаете ошибку, упомянутую на плакате с вопросом.

Итак, я сделал следующее:

1. открыл оболочку git

2. напечатал следующее в

C:\Users\blue\Documents\GitHub> heroku keys:add
Found the following SSH public keys:
1) github_rsa.pub
2) id_rsa.pub
Which would you like to use with your Heroku account? 2

3. После этого я смог проверить свой репозиторий

C:\Users\blue\Documents\GitHub> heroku login
Enter your Heroku credentials.
Email: sxxxxt.xxxx@gmail.com
Password (typing will be hidden):
Authentication successful.
C:\Users\blue\Documents\GitHub> git clone git@heroku.com:sxxxd-plains-8530.gi
t
Cloning into 'sxxxd-plains-8530'...
Warning: Permanently added 'heroku.com,50.19.85.154' (RSA) to the list of known
hosts.
remote: Counting objects: 180, done.
remote: Compressing objects: 100% (112/112), done.
remote: Total 180 (delta 82), reused 132 (delta 62)
Receiving objects:  81% (146/180), 76.00 KiB | 62 KiB/s
Receiving objects: 100% (180/180), 137.91 KiB | 62 KiB/s, done.
Resolving deltas: 100% (82/82), done.
C:\Users\blue\Documents\GitHub>

Пожалуйста, не голосуйте против моего ответа. Хотя я не добавляю ничего нового к тому, что уже опубликовано, но я надеюсь, что мой опыт поможет кому-то, кто плохо знаком с использованием git и heruko. Поэтому я добавил скриншоты.

  • Мои 2 цента
Rockstar
источник
Ваше решение работает в Git Bash, но я не знаю, почему одни и те же шаги не работают последовательно в Windows cmd ???
cyber101
2

Скопируйте файлы по пути .ssh, например:

/c/Users/<yourusername>/.ssh/<files>

в папку git .ssh.

/c/Program Files/Git/.ssh/<paste files here>

Если папки .ssh нет в каталоге Git, просто создайте ее и вставьте свои файлы.

По какой-то причине Windows требует, чтобы путь .ssh находился в каталоге пользователя, а также в каталоге Git. По умолчанию это не добавляется, поэтому вам просто нужно создать его самостоятельно.

После добавления файлов в каталог Git просто снова выполните следующую команду:

git push heroku master
Райан Уоттс
источник
1

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

1. ssh-keygen -t rsa -C "your_email@example.com"
2. ssh-add

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

3. heroku keys:add <path_to_your_ssh>
    OR
 heroku keys:add

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

4. ssh-add <path_to_your_ssh> 
     OR
  ssh-add
прзбаду
источник