博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu下架设svn服务器及在windows建立svn+ssh客户
阅读量:6418 次
发布时间:2019-06-23

本文共 1911 字,大约阅读时间需要 6 分钟。

  hot3.png

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  比较好 ,可以好好的管理。   

转载于:https://my.oschina.net/dake/blog/196858

你可能感兴趣的文章
Java NIO之拥抱Path和Files
查看>>
微信原图泄露的只能是 Exif ,你的隐私不在这!!!
查看>>
微信小程序教学第三章(含视频):小程序中级实战教程:列表篇-页面逻辑处理...
查看>>
页面间通信与数据共享解决方案简析
查看>>
Swift 中 Substrings 与 String
查看>>
作为一个开源软件的作者是一种什么样的感受?
查看>>
移动端适配知识你到底知多少
查看>>
Java基础笔记16
查看>>
TiDB 在 G7 的实践和未来
查看>>
重新认识javascript对象(三)——原型及原型链
查看>>
小学生学“数学”
查看>>
【Vue】组件使用之参数校验
查看>>
FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题
查看>>
深入剖析Redis系列(二) - Redis哨兵模式与高可用集群
查看>>
上班第一天的BUG居然是chrome翻译功能导致的
查看>>
Android 用于校验集合参数的小封装
查看>>
iOS混合开发库(GICXMLLayout)七、JavaScript篇
查看>>
instrument 调试 无法指出问题代码 解决
查看>>
理解缓存
查看>>
im也去中心化?Startalk(星语)的去中心化设计之路
查看>>