Mercurial:如何使用SSH和.ppk文件进行克隆?

时间:2013-05-23 22:05:32

标签: ssh mercurial putty private-key

hg clone ssh://denis@medsecop.com//var/www/vhosts/medsecop.com/stage/symphony

返回

remote: Permission denied (publickey).
abort: no suitable response from remote hg!

我有.ppk文件,但我不知道如何在上面使用ssh命令添加选项(它说“hg clone不需要更多参数”)

 -i /path/to/keys.ppk

我用这个连接到SSH:

sudo ssh -v denis@medsecop.com -i /home/denis/Desktop/MedSec/my-openssh-key

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果你用putty标签标记问题,我想,你在你身边使用Windows(以及我后面会提到的一些Win特定细节)?

  

我不知道如何在上面的ssh命令中添加选项以使用

好吧,对于任何支持ssh的存储库,必须在(全局,用户或特定于存储库的)配置文件中定义使用过的ssh-client。对于基于密钥的授权,您可以将私钥文件定义为已使用命令的参数,或使用特殊的附加工具(* Nix中的ssh-agent或Win中的sant或...)

<强>示例

带有Mercurial(TortoiseHG)的Windows框,完整的Putty,没有Cygwin

ssh-repositories的基于密钥的授权:Plink + Pageant

全球mercurial.ini部分

[ui]
merge = ...
username = ...
ssh = "PATH\TO\TortoisePlink.exe" 

此外,Pageant正在运行并且(putty-type)私钥用于加载已发布的公钥

当我连接到任何ssh-repo时,授权会自动发生

无Pageant版本可能包括

    TortiisePlink在存储库级别的
  • -i KEYFILE选项 - 在.hg \ hgrc
  • 中 TortoisePlink的
  • --load SESSION选项(与上面相同的位置)用于使用之前创建的Putty会话,其中包含所有需要预定义的授权

答案 1 :(得分:0)

我通过添加公钥

解决了这个问题
ssh-add file.ppk