这是我第一次尝试 Mercurial,但是在使用 TortoiseHg 时,使用远程服务器(在本例中为 codebasehq.com)进行推送/拉取/克隆时遇到了问题。
以下是重现的一些步骤:
- 下载并安装 TortoiseHg
- 转到我想要的存储库目录
- 右键点击 -> TortoiseHg -> 克隆
- 输入 ssh://[电子邮件保护]/accountname/projectname/repositoryshortcode.hg 作为源路径
- 单击克隆
一旦我点击克隆,就会弹出一个错误对话框
“PuTTY 致命错误”“已断开连接:没有可用的受支持的身份验证方法。”
当返回克隆对话框时显示以下错误:
运行“C:\Program Files\TortoiseHg\TortoisePlink.exe”-ssh -2[电子邮件保护]“hg -R accountname/projectname/repositoryshortcode.hg serve --stdio”“远程 hg 没有合适的响应
[命令中断]
我需要做什么才能防止此错误并成功与远程存储库交互?
答案1
计时完毕。我需要创建一个 ssh 密钥对。为此,我打开了 puttygen.exe 并生成了一个密钥。然后我运行 pageant.exe 并将生成的密钥添加到其列表中。最后一步是登录 codebasehq 并将密钥的文本(来自 puttygen 中标有“用于粘贴的公钥...”的框)添加到我的个人资料中。
希望这对某人有帮助。
(我将接受我自己的答案,但如果有人能提出更简洁的答案,我会很乐意接受你的答案)
答案2
我刚刚收到了同样的错误消息。但就我的情况而言,问题出在 TortoiseHg 附带的 Pageant 版本过旧。
调试“不支持的身份验证方法”错误消息的一个好方法是添加-v在 mercurial.ini 中
\# Generated by TortoiseHg settings dialog
[ui]
username = name <[email protected]>
ssh = "TortoisePlink.exe" -ssh -2 -batch -C -v
输出:
remote: Pageant is running. Requesting keys.
remote: Failed to get reply from Pageant
remote: Using username "hg".
remote: Disconnected: No supported authentication methods available (server sent: publickey)
no suitable response from remote hg
另请参阅:
http://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Mercurial
http://confluence.atlassian.com/display/BITBUCKET/Troubleshooting+SSH+Issues
答案3
我遇到了同样的问题。我在 Windows 上使用 Git Extensions。我的解决方案略有不同。我没有使用 ssh repo,而是使用了 http URL。
类似于:https://{user}@bitbucket.org/{owner}/{name}.git