无法在Windows 7中为heroku生成ssh公钥

时间:2013-02-22 06:58:51

标签: heroku ssh public-key heroku-toolbelt

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

  

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

之后当我按'y'然后输入

  

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

请帮帮我。

4 个答案:

答案 0 :(得分:34)

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

答案 1 :(得分:16)

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

答案 2 :(得分:1)

对于Win7 64位用户,文件%HerokuPath%s\bin\ssh-keygen.bat如下所示:

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

但是Heroku在Program Files (x86)中安装了Git,所以如果你将.bat文件更新为:

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

然后你应该能够生成你的ssh密钥。

答案 3 :(得分:0)

Windows 10-64bit

我安装了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

git bash:

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

但这个“无法生成公钥”的问题都是为我开始的,因为当我将我的仓库(从github)克隆到新计算机时,我有一个'我没有公钥添加'问题,发现我可以推送到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]