码迷,mamicode.com
首页 > 其他好文 > 详细

CentOS中安装subversion,并使用svn+ssh访问

时间:2015-08-19 20:54:24      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:svn ssh 加密

一、Subversion的传输协议
Subversion可以支持以下多种传输协议,以便客户端和仓库之间进行数据版本控制:
 

引用

file:// 本地数据传输
http:// 基于Apache的HTTP协议(明文)
https:// 基于Apache+SSL的HTTPS协议
svn:// 基于svnserve的SVN协议(明文)
svn+ssh:// 基于SSH的svnserve协议


可见,正如telnet与ssh方式的差别一样,Subversion也可以采用加密的传输方式。
那该选择哪种加密方式呢?在 这里 会告诉你两种方式的差异。

二、实现SVN over SSH方式
要使用svn+ssh://方式前,我们先列举一些该方式的优缺点:
 

引用

1、网络协议是有状态的,svn+ssh比WebDAV快很多;
2、该方式可以利用现有的ssh帐号和用户基础;
3、只有一个认证方法可选择,并且需要用户在同一个系统组,使用共享ssh密钥;
4、没有任何类型的日志,甚至是错误,如果使用不正确,会导致文件许可问题。


另外,在使用该方式的注意事项是:
 

引用

1、svn客户端在访问远端时,默认除保存验证信息外,还会保留协议类型,以方便下次提交版本更新时不需再次定义;
但这就是说,你不能这次使用svn+ssh://,而下次用svn:// ;
2、该方式会同时进行两重验证,一是ssh的密钥验证,二是svnserve设置的访问权限认证,缺一不可;
3、该方式是依赖于ssh来发起一个svnserve进程,然后网络断开后终止进程,所以,远端是不需要单独启动svnserve服务的;
4、因此,连接是需要直接指向版本仓库在远端的实际物理路径,而不是svnserve给出的映射路径


1. 服务器安装

(1) 安装ssh服务器和subversion服务器

    yum install -y subversion 

(2)创建登陆的用户(一定是要能登陆的账号,如果设置为不能登陆,就会报错)

    useradd im

    passwd im

(3)创建svn仓库

    mkdir /data/svn

    svnadmin create /data/svn

(4)修改权限

    chown -R root.im /data/svn/

(5)修改配置文件(都在你的工程目录下)

    1.修改svnserver.conf文件

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

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

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

        realm = /data/svn/ //工程所在的目录

    2.修改authz文件

        [/]

        svnserver = rw //读写

        im =r  //只读

        * =  //除了以上用户或组都不能使用

(6)访问(服务端不需要启动)

       svn co svn+ssh://im@210.14.155.87/data/svn im

    ps:这样是需要输入密码的,如果想免密钥登陆,需要通过ssh-kengen生成密码

 

         

    


本文出自 “IT民工--小枫” 博客,请务必保留此出处http://wangfeng7399.blog.51cto.com/3518031/1686162

CentOS中安装subversion,并使用svn+ssh访问

标签:svn ssh 加密

原文地址:http://wangfeng7399.blog.51cto.com/3518031/1686162

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!