如何让 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 路合并