一、CentOS中安装subversion,并使用svn+ssh访问
http://blog.csdn.NET/wangjingfei/archive/2010/03/28/5424338.aspx
1. 服务器安装
(1) 安装ssh服务器和subversion服务器
- yum update
- yum install openssh-server
- yum install subversion
(2) 创建登陆svn的用户
- useradd fify ; 添加fify用户
- groupadd svn ; 添加svn用户组
- usermod -a -G svn fify ; 将fify用户添加到svn用户组
另外,如果fify用户不存在,则可以用以下语句代替以上三句:
- useradd -g svn fify
参考:http://www.cyberciti.biz/faq/howto-linux-add-user-to-group/
(3) 建立用户存储
- mkdir /home/fify/svn
- mkdir /home/fify/trunk
- svnadmin create /home/fify/svn/trunk
(4) 为svn用户组赋予权限
- chown -R root:svn /home/fify/svn/trunk
- chmod -R g+rws /home/fify/svn/trunk /*给svn组赋予读写权限,可以根据需要更改相应权限*/
- chmod -R o-rwx /home/fify/svn/trunk /*删除其他无关人员的读、写、执行权限,默认情况下可能其他人有读权限*/
(5) 为成员生成密钥
切换用户:
- su fify
生成密钥对:
- ssh-keygen -b 1024 -t rsa -N passwd -f fifykey
其中,passphrase为密钥关键字(相当于密码),由用户自定义;fifykey为密钥文件名,生成之后会产生两个文件,fifykey和fifykey.pub,其中前者为密钥,后者为公钥;rsa指定使用rsa进行加密,如果该成dsa,则使用dsa加密
(6) 创建/home/fify/.ssh目录,把公钥拷贝并重命名成authorized_keys到该目录下:
- cp fifykey.pub /home/fify/.ssh/authorized_keys
注意:文件名称必须为authorized_keys
(7) 更改资源访问权限
修改/home/fify/svn/trunk/conf/svnserve.conf文件,在general中加入以下几行:
- anon-access = none // 未认证的用户没有任何访问权限
- auth-access = write // 认证的用户有写权限
- authz-db = authz // 认证文件为conf目录下的authz文件
修改/home/fify/svn/trunk/conf/authz文件(如果没有则创建),在其中加入:
- [/] // 访问权限为本资源的根目录(以及以下目录)
- fify = rw // fify用户的访问权限为“读+写”
还可以采用以下方法进行认证:
- [groups]
- svn = fify,sim // 定义用户组svn包含两个用户:fify和sim
- [/]
- @svn = rw // svn用户组的成员访问权限为“读+写”
2. 在windows下通过PuTTY进行服务器登陆
注意:以下操作在windows中进行!
(1) 下载PuTTY相关文件
下载以下文件:pageant.exe, putty.exe, puttygen.exe
(2) 生成PuTTY密钥
将fifykey文件(密钥)拷贝到windows中,打开puttygen.exe文件,选择菜单:conversions->Import key,选择fifykey文件,输入之前设定的passphrase,此时可以看到该密钥的一些信息。点击Save private key,生成ppk文件(假设保存为fifykey.ppk文件),即PuTTY使用的密钥。
(3) 使用PuTTY登陆服务器
打开PuTTY.exe,在session中输入服务器地址,端口号:22。在Connection->SSH->Auth中选择Browse,选择刚才生成的fifykey.ppk文件,点击登录。此时提示输入passphrase登陆,如果输入之后能登陆系统,则说明设置成功。
3. 使用TortoiseSVN进行登录
(1) 设置TortoiseSVN登陆方式
在即将要存储svn文件的目录中(空白处)点击右键,选择TortoiseSVN->Settings->Network->SSH client,输入:C:/Program Files/TortoiseSVN/bin/TortoisePlink.exe
(2) 开启pageant
打开pageant.exe,右键点击任务栏右侧中的小图标,选择Add Key,将刚才生成的fifykey.ppk加入
(3) 登陆资源
在即将要存储svn文件的目录中(空白处)点击右键,选择TortoiseSVN->RepoBrowser,输入URL:svn+ssh://fify@10.61.1.91:/home/fify/svn/trunk,此时便可看到trunk中存储的资源列表了!
4. 参考
1. 在Ubuntu中使用SVN:http://blog.csdn.net/laverock/archive/2008/03/18/2195290.aspx
2. SVN服务器端权限配置:http://doc.iusesvn.com/show-8-1.html
3. Linux用户管理:http://www.cyberciti.biz/faq/howto-linux-add-user-to-group/
4. 认证失败时:http://topic.csdn.net/u/20090630/11/c8610589-b4e2-48e8-a55e-3422d7ae6e62.html
二、Linux下采用RSA key的方式登录服务器
http://blog.csdn.net/wangjingfei/article/details/5424531
在http://blog.csdn.NET/wangjingfei/archive/2010/03/28/5424338.aspx中,我们说到如何配置ssh服务端的RSA认证以及在windows上如何使用密钥进行登录的方法。现在说一下Linux下如何使用密钥登录。
Linux下使用密钥相对简单很多,我认为最简单最方便的方法如下:
1. 将密钥添加到Agent中
- ssh-add <file>
之后,便可以通过以下命令查看Agent中的密钥列表:
- ssh-add -l
2. 访问服务器
直接输入ssh命令即可登录
- ssh fify@10.61.1.91
注意:此时的用户名是在生成密钥的时候指定的,仅对指定的一个用户起作用。
生成密钥的方法可以参考http://blog.csdn.Net/wangjingfei/archive/2010/03/28/5424338.aspx中的部分内容