Mercurial,按密钥验证

时间:2010-11-15 05:32:50

标签: mercurial ssh

我在~/.hgrc配置文件

中有这样的部分
[auth]
repo.prefix = ssh://hguser@192.168.132.72/repos
repo.key = /home/zerkms/.ssh/mercurial-repo/id_rsa

但是当我写道:

hg clone ssh://hguser@192.168.132.72/repos/rps .

mercurial仍然需要输入密码。

我做错了什么?

为了防止明显的问题:

是的,指定路径中有一个有效密钥,如果与ssh-agent一起使用,它就有效。

我的问题是如何处理[auth]部分中的密钥。

2 个答案:

答案 0 :(得分:11)

auth isn't for SSH。密钥需要以另一种方式加载。如果它只是〜/ .ssh / id_rsa它将自动完成,因为它不是你可能需要做一些事情来注册它。使用〜/ .ssh / id_rsa通常是最简单的方法 - 将~/.ssh/id_rsa.pub中的~/.ssh/authorized_keys内容放在目标计算机上,然后就可以了。

答案 1 :(得分:11)

以下适用于我(可能是问题以来的新设置):

添加到hgrc:

[ui]
ssh = ssh -C -i ~/.ssh/id_rsa-mercurialkey

-C启用压缩,-i指定身份文件。如果密钥被加载到ssh-agent中,我再也不会被要求提供密码短语。