mercurial-server:要求密码为ssh

时间:2011-01-29 14:42:43

标签: mercurial ssh debian ssh-keys mercurial-server

我正在尝试使用来自LShift的mercurial-server在我的服务器(Debian Lenny)上管理我的mercurial repos。我正在使用本教程:http://kurtgrandis.com/blog/2010/03/20/gitosis-for-mercurial/

但是当我尝试克隆hgadmin repo时,ssh会要求我输入密码。

hg clone ssh://hg@MyMercurialServer/hgadmin

但我从来没有为hg用户设置密码。它是使用apt-get安装创建的。 通常,身份验证应该使用我的公共ssh密钥(从mercurial-server复制到keys / root目录)。但似乎mercurial-server不使用我的公钥。 我还用

刷新了权限
sudo -u hg /usr/share/mercurial-server/refresh-auth

将公钥复制到mercurial-server keys / root目录后。此外,我找不到mercurial-server的任何日志文件。 有人知道,如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:5)

zerkms,是正确的 - 首先直接调试ssh。尝试类似:

ssh -v -v hg@MyMercurialServer

如果您的密钥被发送和拒绝或未被发送,那将告诉您。还可以尝试在客户端添加-i path/to/private/key以强制发送密钥。

ssh密钥设置中的常见配置问题是ssh服务器端的authorized_keys文件的权限。它必须是0600,其所在的目录必须是0700。您可以在服务器端的/var/log/messages中调试这些内容,如果由于权限而不愿信任authorized_keys文件,sshd将打印一条消息。