Подтвердить что ты не робот

Не удалось создать открытый ключ ssh для heroku в Windows 7

Пока я пытаюсь heroku login через cmd на моей машине, он говорит

Не удалось найти существующий открытый ключ
Вы хотите его создать? [Ю.Н.]

После этого, когда я нажимаю 'y' и вводим его, он говорит

Создание нового открытого ключа ssh
Не удалось сгенерировать ключ: "ssh-keygen" не распознается как внутренняя или внешняя командная исполняемая программа или командный файл

Пожалуйста, помогите мне.

4b9b3361

Ответ 1

Инструмент Heroku toolbelt включает дистрибутив git, который включает требуемый файл ssh-keygen.exe. Я только что нашел его в C:\Program Files\git\bin. Найдите папку git и добавьте ее на свой системный путь, как описано здесь: superuser.com/questions/284342/

Ответ 2

У меня была такая же проблема, и я просто решил ее. Я установил еще один CMD под названием Git Bash, который вы можете скачать бесплатно (http://git-scm.com/downloads), а затем повторил команды в этом и работает!

Ответ 3

Для 64-разрядных пользователей Win7 файл %HerokuPath%s\bin\ssh-keygen.bat выглядит так:

@SETLOCAL
@SET HOME=%USERPROFILE%
@"%HerokuPath%\..\Git\bin\ssh-keygen.exe" %*

Но Heroku устанавливает Git в Program Files (x86), поэтому, если вы обновите файл .bat до:

@SETLOCAL
@SET HOME=%USERPROFILE%
@"C:\Program Files (x86)\Git\bin\ssh-keygen.exe" %*

Затем вы сможете сгенерировать свои ssh-ключи.

Ответ 4

Windows 10-64bit

Я установил git, затем toolkelt героя (который, я думаю, переустановил git)

У меня была C\Program Files (x86)\Heroku\bin в моей переменной окружения (возможно, сгенерирована, когда я установил toolkelt героя), и если бы я посмотрел в этот путь к файлу, у меня был ssh-keygen.bat, поэтому мне показалось, что я должен просто запустить ssh-keygen -t rsa из командной строки.

Это было бы слишком просто, вместо этого я получаю:

C:\Program Files (x86)\Git\bin>ssh-keygen -t rsa -f id_rsa
'"C:\Program Files (x86)\Heroku\..\Git\bin\ssh-keygen.exe"' is not recognized as an internal or external command,
operable program or batch file.

Решение

введите bash в командной строке, чтобы перейти в режим git bash, затем запустите ssh-keygen -t rsa

git bash:

[email protected] MINGW32 /bin
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/mamwo/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/mamwo/.ssh/id_rsa.
Your public key has been saved in /c/Users/mamwo/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:MMMYYYPPPUUUBBBLLIIICCKKEEEEYYYY [email protected]
The key randomart image is:

Теперь, когда я смотрю в C/User/mamwo/.ssh(лучший способ для меня - через папку pycharms - windows sucks), я вижу мои id_rsa и id_rsa.pub

Но это "не может генерировать публикацию", все началось для меня, потому что у меня была проблема "у меня нет открытых ключей для добавления", когда я клонировал свое репо (из github) на новый компьютер и обнаружил, что могу нажать к github, но не героку.

Теперь, когда у меня есть ключи, я должен добавить их

C:\Users\mamwo\Desktop\mv>git push heroku master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

C:\Users\mamwo\Desktop\mv>heroku keys
You have no keys.

C:\Users\mamwo\Desktop\mv>heroku keys:add
Found an SSH public key at C:/Users/mamwo/.ssh/id_rsa.pub
Would you like to upload it to Heroku? [Yn]