Не удалось создать открытый ключ ssh для heroku в Windows 7
Пока я пытаюсь heroku login
через cmd на моей машине, он говорит
Не удалось найти существующий открытый ключ
Вы хотите его создать? [Ю.Н.]
После этого, когда я нажимаю 'y' и вводим его, он говорит
Создание нового открытого ключа ssh
Не удалось сгенерировать ключ: "ssh-keygen" не распознается как внутренняя или внешняя командная исполняемая программа или командный файл
Пожалуйста, помогите мне.
Ответы
Ответ 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]