早些时候,我使用了Mercurial命令行安装,对于默认的ssh客户端和~/.ssh中的键位置,它运行得很好。
在我的新笔记本电脑上我安装了TortoiseHg。现在,任何远程请求(如hg拉,或hg传入)都会生成PuTTY致命错误。
断开连接:没有支持的身份验证方法可用(服务器发送:公钥)

如果我试图在ssh上直接访问存储库,结果非常相似:ssh -vT git@bitbucket.org
这个问题可以使用Pageant (plink)解决:运行它并添加putty键,或者向Mercurial配置文件中添加pageant (plink)。
但是,,我正在研究如何能够不使用默认的ssh键位置?而以旧的方式工作,而不使用选美或plink。
发布于 2015-08-13 08:46:51
看起来与git Mercurial相反,它不提供自己的ssh客户端,因此使用Plink和Pageant是强制性的,除了两个解决方案:
git或cygwin (或在Windows上使用ssh的任何其他方式),则可以在Mercurial配置中使用第三方ssh客户端指向路径:
用户界面
ssh = "C:\Program (x86)\Git\bin\ssh.exe“orssh = "PATH_TO_ANY_OTHER_SSH_CLIENT_LIKE_CYGWIN”我两种方法都试过了--它们效果很好。
我使用的是第二种,因为我在我的PC上使用了git ssh 分布式工具作为主要的代理。如果您在PC..上没有的替代方案,那么第一个选项是合适的。
Notes
ssh,而不指定完全路径。在本例中,在Mercurial配置中,您可以使用如下所示: ui
ssh = ssh发布于 2015-08-12 20:39:29
不,在不安装或使用TortoiseHg本身以外的软件的情况下,没有任何方法可以完成这个。
Mercurial没有实现SSH本身。在Unix上,它只运行ssh,并希望已经安装了一个合适的客户端(这是一个安全的选择,因为绝大多数Unix系统要么预先安装了SSH客户端,要么可以相对容易地安装)。在Windows上,这不是一个合理的假设,所以TortoiseHg 捆绑客户端
SSH是一个对称的对等安全隧道.SSH客户端和服务器有自己的密钥管理系统,因此Mercurial在使用SSH时不涉及密码提示。这在上是有问题的,因此TortoiseHg将TortoisePlink SSH客户端与其Windows捆绑在一起。 TortoisePlink是Plink客户端的一个端口,它使用对话框提示主机密钥授权和密码提示。TortoisePlink (由TortoiseSVN项目开发)可以使用Plink工具链中的其他SSH工具,包括Pageant密钥代理。
如果不使用TortoisePlink,则很可能没有TortoiseHg能够与之进行接口的SSH客户端。如果不使用Pageant,就没有保存密钥的系统;TortoisePlink不使用~/.ssh,因为Windows不是这样做的。
发布于 2017-07-16 11:40:18
如何在使用TortoiseHg时防止“不支持的身份验证方法可用”错误?
获取/运行puttygen.exe,单击Generate (没有密码),在关闭窗口之前,保存公共密钥,保存PrivKey。复制所有的关键文本(否则你必须回到puttygen)并粘贴到BitBucket网页上的帐户/配置文件/设置/安全/SSHKeys区域。(右击)系统中的pageant.exe图标-点击“添加键”。退出选美,并重新加载它只是为了确保。退出乌龟,并重新装填它只是为了确保。可以开始了。
https://stackoverflow.com/questions/31972404
复制相似问题