Git服务器的主机密钥未缓存在注册表中 - GitHub.com

ken*_*dds 15 git ssh bash github

这里继续问题:我正在尝试在GitHub上建立我的第一个Git存储库.(注意,这意味着我不能使用putty,我正在使用openssh,或者至少我应该这样,而且我认为我是).我一直在这里关注GitHub网站上的文档.直到最后一个命令,我才把所有事情都弄清楚:git push -u origin master.它给了我以下错误:

The server's host key is not cached in the registry.
You have no guarantee that the server is the computer you think it is.
The server's rsa2 key fingerprint is: ssh-rsa 2048
16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
Connection abandoned. fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

我猜这意味着在我的known_hosts文件中找不到他们的ssh-rsa密钥,但我不确定如何解决这个问题.我试过ssh -T git@github.com,我登录就好了.我也尝试关闭git bash并重新打开,以防它出现缓存问题.这不能解决问题.这是我得到的唯一输出与文档指示的不同.我希望能够建立一个甜蜜的Java Helper库,所以任何帮助都将不胜感激!

小智 15

使用git-for-windows和GIT_SSH指向plink.exe,打开一个putty到服务器并接受主机密钥(然后杀死putty会话,甚至没有继续登录)足以解决这个问题.


cfe*_*ann 6

在Windows上,有时您似乎无法真正接受服务器的主机密钥.

从Power Shell中尝试以下命令之一:

ssh github.com
Run Code Online (Sandbox Code Playgroud)

要么

plink.exe -agent github.com
Run Code Online (Sandbox Code Playgroud)

单独运行这些并y在要求接受主机密钥时按.

使用ssh-add你的私钥添加到当前的电源外壳会议:

C:> ssh-add PATH\TO\PRIVATE\KEY
Run Code Online (Sandbox Code Playgroud)

之后,您应该能够成功运行git push.

资料来源:http://help.github.com/ssh-issues/


Lea*_*th2 6

理想的解决方案是(如果你真的不需要在git中使用plink)删除GIT_SSH环境变量并使用ssh-keygen -t rsa -C "youremail"Git Bash 上的命令生成新的密钥对然后在github中更改你的ssh密钥,因为我从评论是putty和openssh是冲突的.

但是,如果您仍然想使用plink,您可以使用PuTTYgen生成PuTTY格式密钥,然后在github中更改您的公钥并在PuTTYagent中加载您的私钥然后您应该使用PuTTY连接到github.com这将添加githubs指纹对于known_hosts,你很高兴.这将是github与PuTTY http://nathanj.github.com/gitguide/tour.html的资源