我已经使用 Puttygen 创建了公钥和私钥,现在我准备让 Windows 7 上的 TortoiseHg 进行克隆,方法是:
ssh://[email protected]/somecode
但似乎没有地方可以向 TortoiseHg 添加私钥?(或者甚至只是 Mercurial 命令行)
该文件已位于硬盘上的某个位置somefile.ppk
。有人知道如何添加它吗?
答案1
来自 stackoverflow.com 上几乎相同问题的答案(由 David Tischler 提供):
将以下内容添加到主目录中的 mercurial.ini 的 [ui] 部分:
[ui]
ssh = tortoiseplink.exe -ssh -i "C:\Users\UserName\mykey.ppk"
或者如果你想指定你的 ssh 用户名,请添加
[ui]
ssh = tortoiseplink.exe -ssh -i "C:\Users\UserName\mykey.ppk" -l myusername
(假设您的密钥位于“C:\Users\UserName\mykey.ppk”)。
Pageant(其他人已经提到过)也应该有效(尽管我自己还没有尝试过)。
答案2
看起来您需要在 putty 生成的 .ppk 文件上运行 pageant.exe 以将其注册到 hg 可以找到的地方。
答案3
您无需将密钥添加到 TortoiseHg 或 Mercurial。相反,这些程序将调用 Putty(我认为是通过 plink.ext),并且该程序需要知道该密钥。
我已经有一段时间没有使用 Windows 了,但我记得 Putty 允许您以配置文件名称保存设置。其中包括要使用的用户名、主机名和私钥。如果您创建一个名为 的配置文件foo
,那么从 克隆ssh://foo/
应该可以工作。
答案4
你应该编辑 hgrc.d/Mercurial.rc
简单搜索行
ssh =“TortoisePlink.exe”-ssh-2