'ssh-keygen'不被识别为内部或外部命令
我运行git push -u origin master
它告诉我“权限被拒(公钥)致命:远端意外挂断”
然后我在网上查找,发现我必须在GitHub上为我的帐户生成一个ssh密钥。 然而,这样做的时候,当我试图做ssh-keygen -t rsa“email@youremail.com”它只是说ssh-keygen不被识别。 我试图做mkdir C:\ ssh,但没有奏效。 如果有帮助,我正在使用Ruby Rails,并且在Windows计算机上。 任何人都可以帮我吗?
2012:
ssh-keygen.exe
是ssh-keygen.exe
的一部分:
C:\path\to\msysgit1.7.11\bin\ssh-keygen.exe
如果您的%PATH%
包含C:\path\to\msysgit1.7.11\bin\
,您将拥有ssh-keygen
。
2015年更新:
ssh-keygen.exe
是Git For Windows的一部分,其发行版本包括PortableGit-2.4.3.1-2nd-release-candidate-64-bit.7z
c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin\ssh-keygen.exe
这意味着%PATH%
必须包含c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin
(没有ssh-keygen.exe
)
正如我之前解释的 ,Git for Windows将很快淘汰msysgit。
我在“ 为什么如果你从网上下载Git 2.0,你总是会得到一个1.9.4的安装包? ”这个新版本是如何基于最新的msys2项目的 。
我只是有这个问题,并认为我会分享我认为这是一个更简单的方法。
打开git-bash并运行相同的命令,加上-C,因为你在注释你的电子邮件地址: ssh-keygen -t rsa -C "email@youremail.com"
命令。 而已。
git-bash应该在你安装git时被安装。 如果你找不到它,你可以检查C:\ Program Files \ Git \ Git Bash
我第一次这样做,它没有为我创build.ssh文件夹,所以我不得不打开一个标准的命令提示符和mkdir C:\ Users \ yourusername \ .ssh
我在Windows下面(使用Windows的Git安装)
- 运行“Git Gui”(开始 – > Git – > Git Gui)
- 点击帮助,然后显示SSH密钥
- 如果您还没有生成密钥,请点击生成密钥
注意: – 这会在您的个人资料文件夹C:\ Users \ YourUserID \ .ssh \
我发现了一个简单的解决scheme来解决这个
在命令提示符下,转到您的git \ bin目录,然后从这里执行您的命令
不需要添加任何东西到环境variables! 只要打开git bash,然后在那里执行命令ssh-keygen。
链接下载git bash 在这里
只要去heroku.bat并添加:
@SET PATH="D:\Program Files (x86)\Git\bin";%PATH%
@SET PATH=%HEROKU_RUBY%;%PATH%
在我的情况下,它在D:\ Program Files文件(x86)\ Git \ bin中,将其更改为您安装Git的path。 (我只是把它留在我的path,所以这将更清楚如何写这个)
我想你可以在PATH环境variables中添加文件ssh-keygen.exe的位置。 遵循以下步骤:转到我的电脑 – >右键单击 – >属性 – >高级系统设置 – >单击环境variables。 现在点击PATH,然后点击编辑。 在variables值字段中,转到末尾并追加'; C:\ path \ to \ msysgit1.7.11 \ bin \ ssh-keygen.exe'(不带引号)
如果您已经安装了Git,并安装在C:\ Program Files,请按照下列步骤操作
- 转到“C:\ Program Files \ Git”
- 运行git-bash.exe,打开一个新窗口
- 在新的bash窗口中,运行“ssh-keygen -t rsa -C”“
- 它会提示保存密钥的文件,不要input任何值 – 只需按Enter即可
- 同样的密码(两次),只需按下input
- id_rsa和id_rsa.pub将在您的主文件夹下生成.ssh
你可能应该检查这个 。 Windows没有内置该命令。
我通过将ssh-keygen
添加到我的环境variables中来解决问题。
对于那些没有selectBASH HERE的人来说。 在cmd中键入sh,那么他们应该可以访问ssh-keygen.exe
只要input命令提示符就不要做任何事情
C:\> sh
那么你有这样的
sh-4.4$ # type here ssh-4.4$ ssh-keygen -t rsa -b 4096 -C "example@example.com"
这应该是必须的。