我在~/.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]
部分中的密钥。
答案 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中,我再也不会被要求提供密码短语。