ubuntu下架设svn服务器及在windows建立svn+ssh客户端:
1、安装ssh
sudo apt-get install ssh 2、安装subversion sudo apt-get install subversion 3、为参与项目开发的成员建立用户帐户 sudo adduser user1 4、建立名为svn的用户组 sudo addgroup svn sudo addgroup user1 svn /*把user1加入组svn*/ 注:这里可以根据不同的权限建立多个用户组,把有相应权限的用户放入相应的组中 5、建立项目文件存储目录 sudo mkdir /usr/local/svn sudo mkdir /usr/local/svn/trunk 6、创建SVN文件仓库 sudo svnadmin create /usr/local/svn/trunk 7、为组成员赋予相应的权限 sudo chown -R root:svn /usr/local/svn/trunk sudo chmod -R g+rws /usr/local/svn/trunk /*给svn组赋予读写权限,可以根据需要更改相应权限*/ sudo chmod -R o-rwx /usr/local/svn/trunk /*删除其他无关人员的读、写、执行权限,默认情况下可能其他人有读权限*/ 注:有关权限修改的问题可以查看相关linux命令 8、为每个成员生成密钥对(以用户user1为例) 切换为xiao用户登录:su user1 (提示输入user1的密码) 输入:cd ~/ 输入:whoami,如果登录成功则显示xiao 执行:ssh-keygen -b 1024 -t dsa -N passphrase -f user1key 注:其中passphrase为密钥关键字,根据你的需要修改,xiaokey为文件名;这里使用的是DSA加密,可以改用RSA加密,把其中的 “dsa”改为“rsa”就可以了。 这时产生两个文件:xiaokey和xiaokey.pub,前一个为秘密密钥后一个为公开密钥 然后,创建目录/home/xiao/.ssh,把公钥拷贝到/home/user1/.ssh目录下:cp user1key.pub /home/user1/.ssh/authorized_keys 注:文件名必须为authorized_keys 退出:exit 9、在windows下安装svn客户端,则需安装“TortoiseSVN”、“Puttygen”和“Pageant” 9.1、下载: http://sourceforge.net/projects/tortoisesvn http://www.chiark.greenend.org.uk/~sgtatham/putty/ 9.2、安装:略 9.3、转换私钥格式: 9.3.1、运行Puttygen; 9.3.2、选择菜单conversions->gennery, 9.3.3、选择文件user1key,提示“Enter passphrase for key",输入创建公私钥对示使用的passphrase关键字, 9.3.4、然后选择Parameters为“SSH-2 DSA”(如果公私钥是使用RSA生成,则选择“SSH-2 RSA”), 9.3.5、点击按钮Save private key, 9.3.6、保存文件名为user1key.ppk。 9.4、建立TortoiseSVN与Pageant的关联,并将私钥加入Pageant: 9.4.1、鼠标右键选择TortoiseSVN->Settings->Network->SSH client,输入: C:/Program Files/TortoiseSVN/bin/TortoisePlink.exe; 9.4.2、鼠标右键选择TortoiseSVN->RepoBrowser 输入URL: svn+ssh://user1@SvnServiceIP/usr/local/svn/trunk; 9.4.3、运行Pageant,右键点击屏幕右下角的图标-〉Add Key,将私钥文件user1key.ppk加入。 这种配置我觉得在服务器之间操作比较安全,但是对于开发者(在window下开发着)使用起来就不是和方便了,我们可一使用ssh的另一个客户端ssh sesure shell 比较好 ,可以好好的管理。