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


11

我已经使用Puttygen创建了一个公共密钥和一个私有密钥,现在我准备让Windows 7上的TortoiseHg进行克隆,方法是:

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

但是似乎没有将私钥添加到TortoiseHg的位置?(甚至只是Mercurial命令行)

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

Answers:


7

从答案几乎相同的问题在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(已经被其他人提及)也应该工作(即使我自己还没有尝试过)。


对我不起作用:remote: 'tortoiseplink.exe' is not recognized as an internal or external command, remote: operable program or batch file.
Zero3 '16

“如果我为plink.exe提供-ssh参数,则不会使用保存的PuTTY会话,因此它不会使用正确的端口号。-ssh无论如何,该参数是不必要的,因为SSH是默认协议。” - mercurial-scm.org/wiki/AccessingSshRepositoriesFromWindows
大卫·卡里

@ Zero3:安装TortoiseHg和PuTTY之后,我将此行添加到[ui]部分中的“ C:\ Users \ dc \ mercurial.ini”文件中:ssh =“ C:\ Program Files \ TortoiseHg \ lib \ TortoisePlink .exe“ -i” C:\ Users \ dc \ .ssh \ github_rsa.ppk“
David Cary

1

看起来您需要在腻子生成的.ppk文件上运行pageant.exe,以便将其注册到hg可以找到它的位置。


0

您无需将密钥添加到TortoiseHg或Mercurial。相反,这些程序将调用Putty(我认为是通过plink.ext),并且该程序将需要知道密钥。

自从我使用Windows以来已经有一段时间了,但是我记得,Putty允许您将设置保存在配置文件名称下。其中包括用户名,主机名和要使用的私钥。如果您创建一个名为的配置文件foo,则ssh://foo/应该可以从进行克隆。


0

您应该编辑hgrc.d / Mercurial.rc

简单搜索符合

ssh =“ TortoisePlink.exe” -ssh -2

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.