gpt4 book ai didi

mercurial - 如何在没有 PuTTY 的情况下从命令行使用 TortoiseHg (Pageant)

转载 作者:行者123 更新时间:2023-12-03 08:06:32 25 4
gpt4 key购买 nike

之前我用过 Mercurial命令行安装,它对我来说很好用,默认的 ssh 客户端和 key 位置在 ~/.ssh 中。

在我的新笔记本电脑上,我安装了 TortoiseHg .现在任何远程请求(如 hg pull 或 hg 传入)都会生成 PuTTY fatal error :

Disconnected: No supported authentication methods available (server sent: publickey)



enter image description here

如果我尝试通过 ssh 直接访问存储库,结果非常相似: ssh -vT git@bitbucket.org
可以使用 Pageant 解决问题( plink ): 运行它并添加 putty key ,或将 pageant (plink) 添加到 Mercurial 配置文件。

但是, 我正在寻找如何在没有选美或 plink 的情况下以旧方式工作,仅使用默认的 ssh key 位置?

最佳答案

貌似对面git Mercurial 不提供自己的 ssh 客户端,因此必须使用 Plink 和 Pageant,但有两种解决方法:

  • Use TortoisePlink as ssh client with explicit key reference in Mercurial config (%USERPROFILE%\.hgrc 或 %USERPROFILE%\Mercurial.ini):

    [ui]

    ssh = "C:\Program Files\TortoiseHg\lib\TortoisePlink.exe" -ssh -i %USERPROFILE%.ssh\id_rsa.ppk

  • 如果您已安装 gitcygwin (或在 Windows 上使用 ssh 的任何其他方式),可以在 Mercurial 配置中使用第三方 ssh 客户端指向路径:

    [ui]

    ssh = "C:\Program Files (x86)\Git\bin\ssh.exe"

    # or

    # ssh = "PATH_TO_ANY_OTHER_SSH_CLIENT_LIKE_CYGWIN"


  • 我尝试了两种方法——它们工作得很好。

    我使用第二个,因为我使用 git在我的 PC 上分发工具作为主要工具 ssh代理人。如果您没有 ssh,第一个选项是合适的PC 上的替代方案。

    备注 :
  • 有时,基于解析器,ini 文件中的路径解析为字符转义,所以 \可能会转义下一个符号。在这种情况下,路径应该类似于 C:\\Program Files (x86)\\Git\\bin\\ssh.exe(带双斜杠)
  • 我的 %PATH% 变量中有 git\bin 目录可以使用 ssh没有指定完整路径。在这种情况下,在 Mercurial 配置中,您可以像这样使用:

    [ui]

    ssh = ssh

  • 关于mercurial - 如何在没有 PuTTY 的情况下从命令行使用 TortoiseHg (Pageant),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31972404/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com