我尝试使用Pageant for ssh键克隆cygwin或GitBash(msysgit)中的repo。我收到以下错误:
$ git clone git@github.com:username/your-project.git
Cloning into 'your-project'...
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: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
然而,当尝试使用gitub调试ssh连接时,它说它可以正常工作
$ ssh -T git@github.com
Warning: Permanently added the RSA host key for IP address '192.30.252.129' to the list of known hosts.
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
$ ssh-add -l
显示我的github个人资料中列出的相同指纹
所以问题不是这里描述的问题:https://help.github.com/articles/error-permission-denied-publickey
答案 0 :(得分:19)
我在此页http://www.bitsandpix.com/entry/git-setup-msysgit-install-with-pageantplink-from-putty/找到了解决方案,但在此处重新创建,希望将来可以节省其他人的时间,因为该页面并未轻易地在Google中显示。
事实证明,为了完全使用cygwin / msysgit的选美,你首先需要用putty本身接受服务器的指纹。
只需启动putty并连接到主机git@github.com
或git@bitbucket.org
,它就会存储该指纹。所有你会看到的只是一个腻子会议的短暂闪光,然后它关闭。
现在回到cygwin或msysgit,你应该能够克隆。
或者,如果您不希望使用Pageant作为键,则必须取消设置指向GIT_SSH
的环境变量plink.exe
,并且cygwin / msysgit将自行接受服务器指纹(但是您不再会使用Pageant)。这是在http://sourceforge.net/p/forge/site-support/2959/#204c
答案 1 :(得分:1)
将GIT_SSH设置为使用TortoisePlink.exe
而不是PuTTY' plink.exe
。这将允许弹出对话框窗口提示事物(例如确认指纹或输入密码)。如果您通过Git使用plink.exe
,则无法输入对plink.exe提示的响应。