Linux上svn+ssh服务的搭建

创建版本库

svnadmin create path

为svnusers用户组赋予权限

chown -R root:svnusers path 

chmod -R g+rws path /*给svnusers组赋予读写权限,可以根据需要更改相应权限*/ 

chmod -R o-rwx path /*删除其他无关人员的读、写、执行权限,默认情况下可能其他人有读权限*/

为svn用户生成密匙

切换到用户环境下:

su 用户

生成密匙对:

ssh-keygen -b 1024 -t rsa -N passwd -f keyname

其中,passwd为密钥关键字(相当于密码),由用户自定义;keyname为密钥文件名

生成之后会产生两个文件,keyname和keyname.pub

其中前者为密钥,后者为公钥  www.2cto.com  

rsa指定使用rsa进行加密,如果该成dsa,则使用dsa加密

在用户home目录创建.ssh目录,把公钥拷贝并重命名成authorized_keys到该目录下:

cp keyname.pub /home/username/ .ssh/authorized_keys 

将私钥交给用户使用

更改资源访问权限

修改 版本库/conf/svnserve.conf文件,在general中加入以下几行

anon-access = none // 未认证的用户没有任何访问权限 

auth-access = write // 认证的用户有写权限 

authz-db = authz // 认证文件为conf目录下的authz文件

修改 版本库/conf/authz文件(如果没有则创建),在其中加入:

[/] //访问权限为本资源的根目录(以及以下目录) 

username = rw //用户的访问权限为“读+写”

还可以采用以下方法进行认证:

[groups] 

svn = fify,sim // 定义用户组svn包含两个用户:fify和sim 

[/]

@svn = rw // svn用户组的成员访问权限为“读+写”

客户端链接方法:

生成PuTTY密钥:

将username文件(密钥)拷贝到windows中,打开puttygen.exe文件,选择菜单:conversions->Import key,选择username文件,输入之前设定的passphrase,此时可以看到该密钥的一些信息

点击Save private key,生成ppk文件(假设保存为username.ppk文件),即PuTTY使用的密钥

设置TortoiseSVN登录方式:  www.2cto.com  

在即将要存储svn文件的目录中(空白处)点击右键,选择TortoiseSVN->Settings->Network->SSH client,输入:C:/Program Files/TortoiseSVN/bin/TortoisePlink.exe

开启pageant: 

打开pageant.exe,右键点击任务栏右侧中的小图标,选择Add Key,将刚才生成的username.ppk加入

co资源: 

在即将要存储svn文件的目录中(空白处)点击右键,checkout:svn+ssh://username@host:path,此时便可看到svn的资源列表

作者 showcolors

本文出自http://www.2cto.com/os/201204/126172.html

posted @ 2017-02-17 16:13  memphise  阅读(131)  评论(0编辑  收藏  举报