31

当我heroku login在我的机器上尝试通过 cmd 时,它说

找不到现有的公钥
你想生成一个吗?[YN]

之后,当我按“y”并输入时,它说

生成新的 ssh 公钥
无法生成密钥:“ssh-keygen”不被识别为内部或外部命令可运行程序或批处理文件

请帮我。

4

4 回答 4

34

Heroku 工具带包含 git 分发,其中包含所需的 ssh-keygen.exe 。我刚刚在 C:\Program Files\git\bin 找到它。找到您的 git 文件夹并将其添加到您的系统路径中,如下所述:superuser.com/questions/284342/

于 2013-02-22T19:50:04.737 回答
16

我有同样的问题,刚刚解决了。我安装了另一个名为 Git Bash 的 CMD,您可以免费下载它(http://git-scm.com/downloads),然后重复其中的命令,它就成功了!

于 2013-04-10T09:30:14.257 回答
1

对于 Win7 64 位用户,该文件%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 密钥。

于 2014-11-28T18:09:31.843 回答
0

视窗 10-64 位

我已经安装了 git,然后是 heroku toolbelt(我认为它重新安装了 git)

我有C\Program Files (x86)\Heroku\bin我的环境变量(可能是在我安装 heroku 工具带时生成的),如果我查看那个文件路径,我有一个 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

混帐巴什:

mamwo@DESKTOP-9GVG6K8 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 mamwo@DESKTOP-9GVG6K8
The key's randomart image is:

现在,当我查看 C/User/mamwo/.ssh(对我来说最好的方法是通过 pycharms 文件夹 - Windows 很烂)时,我看到了我的 id_rsa 和 id_rsa.pub

但是这个“无法生成公钥”问题对我来说都是开始的,因为当我将我的仓库(从 gi​​thub)克隆到一台新计算机并发现我可以推送到 github 时,我遇到了一个“我没有要添加的公钥”的问题,但是不是heroku。

现在我有了钥匙 - 我必须添加它们

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]
于 2016-03-01T13:00:40.417 回答