2015-12-16 82 views
0

我试图对远程服务器(hg pullhg push)执行hg。在Windows上失败,但在OS X中成功。我使用了与Windows和OS X相同的ssh私钥和公钥。以下是详细信息:hg clone ssh:// user @ url在Windows 7(cygwin)上失败,但在OS X上工作

在Windows上,我使用了cygwin,为此我还安装了openssh。私钥和公钥位于cygwin主页/home/simo/.ssh)的.ssh文件夹内。当我在cygwin中输入hg clone ssh://[email protected]时,出现一个标题为的弹出窗口,并出现TortoisePLink,并要求输入Password,我相信这表示SSH密钥的密码。我进入了,它立刻要求我一次又一次地输入它(同一个弹出窗口)。当然,我仔细检查了密码。如果我继续输入密码5次,则停止并说Too many authentication failures for simoabort: no suitable response from remote hg!。具有讽刺意味的是,如果我不使用Cygwin,但使用命令提示符,我仍遇到同样的问题。这可能是理解这个问题的关键,因为我不确定命令提示符中使用的ssh是否与cygwin中使用的ssh相同,因此在任何情况下ssh密钥似乎都不重要。首先,我只在cygwin中存储了.ssh的密钥,但遇到了问题。我试过命令提示符(没有将ssh密钥复制到那里),我也遇到了问题,所以看起来像在hg期间ssh密钥没有被使用。然后我尝试将密钥复制到命令提示符的主目录(C:\Users\simo\.ssh),我也面临同样的问题。

我将ssh密钥复制到我的Mac OS X中,将它们放在.ssh中,然后运行。一切正常。任何想法为什么我在Windows上与hg ssh失败?问题是因为如果Cygwin?由于ssh密钥未使用/未找到?以及为什么与标题弹出窗口TortoisePLInk不断要我输入密码?

回答

0

在Windows上,你可以有SSH密钥两种不同的格式:

  • ,如果你使用Cygwin和OpenSSH格式类似于Unix的一个
  • 如果使用腻子/佳丽(SSH代理)格式是不同的

所以你必须选择你想使用哪一个。请注意,您可以将您的Unix格式的密钥“导入”Pageant代理,然后使用Tortoise即可开箱即用。

但你也可以在mercurial.ini配置为使用Cygwin的SSH(参见例如这样的回答:https://stackoverflow.com/a/18973676/236726

希望能对大家有所帮助。

相关问题