如何让 Windows 上的 TortoiseHg (Mercurial) 使用生成的私钥文件(由 Puttygen 生成)?

Posted

技术标签:

【中文标题】如何让 Windows 上的 TortoiseHg (Mercurial) 使用生成的私钥文件(由 Puttygen 生成)?【英文标题】:How to let TortoiseHg (Mercurial) on Windows use the Private Key file generated (by Puttygen)? 【发布时间】:2011-02-26 10:02:44 【问题描述】:

我已经使用Puttygen创建了一个公钥和一个私钥,然后准备让Windows 7上的TortoiseHg进行克隆

ssh://somebody@code.somewhere.com/somecode

但是似乎没有地方可以将私钥添加到 TortoiseHg? (甚至只是 mercurial 命令行)

该文件已经作为 somefile.ppk 在硬盘上的某个位置有人知道如何添加它吗?

【问题讨论】:

这个问题在 SuperUser 上重复:serverfault.com/questions/147136/… 我认为它属于那里而不是 ***,因为它与编程无关,而是与一般软件有关。 【参考方案1】:

首先需要一个 ssh 密钥生成器

    cmd: ssh-keygen -t rsa 打开 PuTTY 密钥生成器 Conversions > 导入密钥:打开 C:\Users\.ssh 中的 id_rsa 文件(您可能需要创建文件夹!必须以管理员身份运行 cmd!) 将导入的文件 id_rsa 保存为 id_rsa.ppk 打开 TortoiseHG 文件夹中的 Pageant.exe 它将显示在任务栏中 右键单击并单击添加键 最后添加新的 ppk 文件

哦对了把id_rsa.pub的内容复制到hg host

【讨论】:

【参考方案2】:

将以下内容添加到主目录中 mercurial.ini 的 [ui] 部分(假设您的密钥位于“C:\Users\UserName\mykey.ppk”中):

[ui]
ssh = tortoiseplink.exe -ssh -i "C:\Users\UserName\mykey.ppk"

或使用在 TortoiseHg 安装路径中找到的 Pageant(例如 C:\Program Files\TortoiseHg\Pageant.exe)。启动它,双击出现的任务栏图标,然后添加 .ppk 文件。

【讨论】:

我明白了。谢谢。我可以在这里补充一点,Windows 7 上的“主目录”类似于 c:\users\peter 请注意,如果您想指定您的用户名,可以使用 tortoiseplink 的 -l 开关来完成(将“-l myusername”添加到此 ssh 行) @HoangTran 使用-pw password 参数以指定密码登录。 @david.s 谢谢,但这意味着密码是放在这个纯文本 .ini 文件中的,我正在寻找一种安全保存它的方法。 从 TortoiseHg 3.5 开始,tortoiseplink 默认不会添加到 PATH 中,所以你需要改为 ssh = "C:\Program Files\TortoiseHg\lib\tortoiseplink.exe" -ssh -i "C:\Users\UserName\mykey.ppk"

以上是关于如何让 Windows 上的 TortoiseHg (Mercurial) 使用生成的私钥文件(由 Puttygen 生成)?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 TortoiseHg 2.0.3 和 Beyond Compare 3.2.4 进行 3 路合并

TortoiseHG:添加目录树中的所有文件

Windows上的自定义Mercurial

TortoiseHg - 显示未推送的提交

TortoiseHg 4.4 它是不是适用于在 subrepos 中提交新项目?

如何告诉 TortoiseHg 文件不是二进制文件?