Linux下配置subversion使其支持svn+ssh方式访问

普通访问(略)

svn://访问方式(svnserve -d -r /opt/svnrepos)

ssh配置(假设用户为svn:svnusers)

chmod 700 /home/svn/.ssh

chmod 600 /home/svn/.ssh/authorized_keys

chown svn:svnusers /home/svn/.ssh/authorized_keys

为了给用户尽可能少的访问权限,可以在command命令之后指定一些限制选项

no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty

公钥最综应该是这样:

command="svnserve -t --tunnel-user=xxxx",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa KEY xxxx@xxxx.com

--tunnel-user后面的用户即为subversion authz.conf里配置的用户名

仓库设置

chown -R root:svnusers /opt/svnrepos

chmod -R 775 /opt/svnrepos

svn+ssh连接

tortoiseplink.exe -l svn -i xxx.ppk

关于svnserve -d和-t

-d打开3690端口,允许svn://连接,为了允许访问subversion专门启动一个服务

-t隧道模式,允许通过隧道直接与subversion交互,我们这里利用的隧道就是ssh

相关推荐