heroku login
时,它会显示:
之后,当我按下“y”并输入时,它会显示:找不到现有的公钥
您想要生成一个吗?[YN]
请帮助我。正在生成新的ssh公钥
无法生成密钥:“ssh-keygen”不是内部或外部命令,可操作的程序或批处理文件
heroku login
时,它会显示:
之后,当我按下“y”并输入时,它会显示:找不到现有的公钥
您想要生成一个吗?[YN]
请帮助我。正在生成新的ssh公钥
无法生成密钥:“ssh-keygen”不是内部或外部命令,可操作的程序或批处理文件
Heroku工具包包含git发行版,其中包括所需的ssh-keygen.exe。我刚刚在C:\Program Files\git\bin中找到了它。定位您的git文件夹,并按此处描述将其添加到系统路径中:superuser.com/questions/284342/
heroku auth:login
登录 Heroku,你将能够生成一个SSH密钥。如果你在Windows上使用普通的 cmd
shell 使用相同的命令,则需要将你的Git目录包含在你的PATH路径中;造成这种行为的原因是,正如另一个评论所述,当运行Git bash时,它设置了PATH路径。 - Chris Cirefice我之前也遇到了同样的问题,但是我已经解决了。我安装了另一个CMD,名为Git Bash,您可以免费下载(http://git-scm.com/downloads),然后在该CMD中重复执行命令,就可以正常工作了!
%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" %*
Windows 10-64位
我已经安装了git,然后安装了heroku工具包(我认为重新安装了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
但是这个“无法生成公钥”的问题始于我在将我的repo(来自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]