使用sudo与mercurial和ssh身份验证

时间:2010-05-09 22:41:25

标签: mercurial ssh debian sudo

我如何运行
ssh-add key
sudo hg clone hg@bitbucket.org/etc/etc

但是使用我的ssh密钥而不是超级用户。

嘿大家,当我使用sudo时,例如,sudo hg clone hg@bitbucket.org/etc/etc在我将一个密钥添加到我的用户帐户后,它不起作用。我记得这是因为sudo是以超级用户身份运行的,但该用户无法添加密钥。我记得设置一些指令(即使用debian)允许我以sudo运行该命令,但仍然从我的普通用户帐户获取我的ssh密钥,但我当时没有记录它。感谢。

2 个答案:

答案 0 :(得分:7)

Ry4an的回答指出了我正确的方向,但我发现至少使用Hg的当前版本(1.6.4),你需要放--ssh(或等效的-e之后 hg命令。

e.g。

hg clone -e 'ssh -i /path/to/key' ssh://user@host/path

答案 1 :(得分:3)

我发现你找到了一种将sudo用户链关闭到主用户密钥的方法,但是不要使用ssh-agent来更明确地指定密钥:

sudo hg --ssh '/usr/bin/ssh -i /path/to/private.key' clone hg@bitbucket.org/etc/etc