【问题标题】:hg clone ssh://user@url fails on windows 7 (cygwin), but works on OS Xhg clone ssh://user@url 在 Windows 7(cygwin)上失败,但在 OS X 上有效
【发布时间】:2016-03-23 05:20:53
【问题描述】:

我尝试对远程服务器执行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 mercurial cygwin tortoisehg


    【解决方案1】:

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

    • 如果你使用 Cygwin 和 openssh 格式类似于 Unix 格式
    • 如果您使用 PuTTY/Pageant(ssh 代理)格式不同

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

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

    希望对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多