23t*_*tux 2 ssh mercurial 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
Run Code Online (Sandbox Code Playgroud)
但我从来没有为hg用户设置密码.它是使用apt-get安装创建的.通常,身份验证应该使用我的公共ssh密钥(从mercurial-server复制到keys/root目录).但似乎mercurial-server不使用我的公钥.我也刷了特权
sudo -u hg /usr/share/mercurial-server/refresh-auth
Run Code Online (Sandbox Code Playgroud)
将公钥复制到mercurial-server keys/root目录后.此外,我找不到mercurial-server的任何日志文件.有谁知道,如何解决这个问题?
谢谢.
zerkms,是正确的 - 首先直接调试ssh.尝试类似的东西:
ssh -v -v hg@MyMercurialServer
Run Code Online (Sandbox Code Playgroud)
如果您的密钥被发送和拒绝或未被发送,那将告诉您.还尝试-i path/to/private/key在客户端上添加以强制发送密钥.
ssh密钥设置中的常见配置问题是ssh服务器端的authorized_keys文件的权限.它需要0600和它所需的目录一样0700.您可以/var/log/messages在服务器端调试这些内容,如果由于权限而不愿信任authorized_keys文件,sshd将打印一条消息.