繁体   English   中英

hg clone ssh:// user @ url在Windows 7(cygwin)上失败,但在OS X上有效

[英]hg clone ssh://user@url fails on windows 7 (cygwin), but works on OS X

我试图对远程服务器进行hghg pullhg push )。 在Windows上失败,但在OS X上成功。我对Windows和OS X使用相同的ssh私钥和公钥。以下是详细信息:

在Windows上,我使用cygwin,为此我还安装了openssh。 私钥和公钥位于cygwin home/home/simo/.ssh )的.ssh文件夹中。 例如,当我在cygwin中执行hg clone ssh://simo@url时,会出现一个标题为TortoisePLink的弹出窗口,并要求我输入密码,我相信这意味着ssh密钥的密码短语。 我输入了,它立即要求我一次又一次地输入它(同一弹出窗口)。 当然,我仔细检查了密码。 如果我连续输入5次密码,它将停止并提示Too many authentication failures for simoabort: no suitable response from remote hg!

具有讽刺意味的是,如果我不使用Cygwin,而是使用命令提示符,那么我仍然会遇到相同的问题。 这可能是理解该问题的关键,因为我不确定命令提示符中使用的ssh是否与cygwin中使用的ssh相同,因此,无论哪种情况,ssh密钥似乎都不重要。 首先,我只将.ssh的密钥存储在cygwin中,遇到了问题。 我尝试了命令提示符(没有将ssh密钥复制到那里),我也遇到了问题,因此看起来在hg期间根本没有使用ssh密钥。 然后,我尝试将密钥复制到命令提示符的主目录( C:\\Users\\simo\\.ssh ),我也遇到了同样的问题。

我将ssh密钥复制到了Mac OS X,将它们放入.ssh中,然后运行。 一切正常。 知道为什么我在Windows上使用hg ssh失败了吗? 可能是因为Cygwin吗? 因为ssh键未使用/未找到? 为何为什么标题为TortoisePLInk的弹出窗口总是要求我输入密码?

在Windows上,您可以使用两种不同的ssh密钥格式:

  • 如果您使用Cygwin和openssh,则格式与Unix类似
  • 如果您使用PuTTY / Pageant(ssh代理),则格式是不同的

因此,您必须选择要使用的那个。 请注意,您可以将Unix格式的密钥“导入”到Pageant代理中,然后与Tortoise一起即可使用。

但您也可以在mercurial.ini配置为使用Cygwin ssh(例如,请参见以下答案: https : //stackoverflow.com/a/18973676/236726

希望能对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM