我正在尝试使用LShift的mercurial-server在我的服务器(Debian Lenny)上管理我的mercurial repos。我使用的是这个教程:http://kurtgrandis.com/blog/2010/03/20/gitosis-for-mercurial/
但是,当我尝试克隆hgadmin存储库时,ssh要求我提供密码。
hg clone ssh://hg@MyMercurialServer/hgadmin但是我从来没有为hg用户设置过密码。它是使用apt-get安装创建的。通常,应该使用我的公共ssh密钥(从mercurial-server复制到key /root目录)来完成身份验证。但是似乎mercurial服务器并不使用我的公钥。我还用以下命令刷新了权限
sudo -u hg /usr/share/mercurial-server/refresh-auth将公钥复制到mercurial服务器密钥/根目录后。此外,我找不到mercurial-server的任何日志文件。有谁知道怎么解决这个问题吗?
谢谢。
发布于 2011-01-30 04:07:02
zerkms是正确的--首先直接调试ssh。尝试如下所示:
ssh -v -v hg@MyMercurialServer这会让你知道你的密钥是否正在被发送和拒绝。还可以尝试在客户端添加-i path/to/private/key以强制发送密钥。
ssh密钥设置中常见的配置问题是ssh服务器端对authorized_keys文件的权限。它需要是0600,并且它所在的目录需要是0700。您可以在服务器端的/var/log/messages中调试这些东西,如果sshd由于权限原因不愿意信任authorized_keys文件,它将打印一条消息。
https://stackoverflow.com/questions/4837454
复制相似问题