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 比较好 ,可以好好的管理。
来源:oschina
链接:https://my.oschina.net/u/104077/blog/196858