【发布时间】:2016-03-23 05:20:53
【问题描述】:
我尝试对远程服务器执行hg(hg pull 或hg 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 simo 和 abort: 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