SVN+SSH的部署方式,主要是使用serve的隧道方式来登陆SVN。
步骤如下
1 添加一个Linux系统用户。并生产密钥,生存authorized_keys文件,并指定command为svnserve的隧道,带上svn用户名。
2 修改svn的config,使用authz,并添加linux用户。
使用中有几点要注意:
1. svn+ssh,需要添加一个linux系统用户,能登录系统的。
2. 用ssh-keygen生成密钥后,需要改为authorized_keys,并且指定command为svnserve的隧道。
3.在checkout时和svn方式不一样,“svn co svn://192.168.11.6/repos”,而后者是“svn co svn+ssh://linuxuser@192.168.11.6/svnroot/repos”,一定要加上路径,否则会说找不到这个repository.
4.新建一个svn用户,在auth里指定权限,在passwd里指定密码,用svn方式就可以访问;同时它可以作为ssh方式的隧道。
5. 新建一个系统用户,在.ssh/authorized_keys指定隧道。
6.需要将svn用户和系统用户都添加到auth里面,否则会说Authorized failed。
具体操作步骤如下:
1 创建linux用户,并指定隧道
#useradd linuxuser #printf "123456\n123456" | sudo passwd linuxuser #su - aaron #mkdir -p .ssh && cd .ssh #ssh-keygen -t rsa -b 1024 #echo -n 'command="/usr/bin/svnserve -t -r /localdisk/svndata --tunnel-user=svnuser"' >> authorized_keys #echo -n ',no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding' >> authorized_keys #echo -n ' ' >> authorized_keys #cat id_rsa.pub >> authorized_keys2 配置svn repos
# cat svnserve.conf anon-access =none auth-access = write password-db = passwd authz-db = authz #cat authz [/] svnuser = rw linuxuser = rw #cat passwd [users] svnuser=1234563 访问svn库
svn co svn+ssh://linuxuser@192.168.11.6/svnroot/repos //全路径
转载于:https://www.cnblogs.com/zhengminjie/p/8987010.html
相关资源:数据结构—成绩单生成器