svn 服务器端怎么增加用户,svn+ssh方式svn服务器和客户端的配置[转载]
本文摘自:http://hi.baidu.com/farmerluo/item/e7d9d72d098afc0a42634abb
我们最近一个项目用的那几台服务器都是客户给的,但是管理非常严格,只给我们开了22及80端口,搞得我们更新程序只能用sftp方式,很不方便,让他们开svn端口也不肯,让我们用svn+ssh方式。
那就只能用svn+ssh方式了,不得不说svn+ssh很不方便,非常折腾。在这里记录下配置过程。
一. 服务器安装和配置
1) 安装ssh server和subversion
yum install -y openssh-server subversion
2) 建立svn用户,此用户为ssh登录帐号,再建立用户主目录并设置权限
useradd svn
cd /home/svn
3) 建立 subversion repository
mkdir /var/svn-repos
svnadmin create /var/svn-repos/topcity
chown -R svn:svn /var/svn-repos/topcity
4) 为svnuser建立SSH公钥和私钥,svnuser就是以后用来操作的svn用户,注意它并不是linux系统用户
ssh-keygen -t rsa -b 1024 -f svnuser.key
这里可以输密码,也可以不输密码,如果是希望代码提交后,自动更新到运行环境的话,光用key方便点。否则建议根据提示输入密码,此时在当前目录下会生成二个文件,svnuser.key私钥和svnuser.key.pub公钥
mkdir /home/svn/.ssh
cat svnuser.key.pub >> /home/svn/.ssh/authorized_keys
chown -R svn:svn /home/svn/.ssh
5) 编辑 authorized_keys 文件,在相应公钥内容的开头处加入:
vi /home/svn/.ssh/authorized_keys
command="/usr/bin/svnserve -t -r /var/svn-repos/ --tunnel-user=svnuser",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding
注意上述内容和原来公钥的内容应该在同一行中
6) 修改repository配置,并启用authz权限控制
vi /var/svn-repos/topcity/conf/svnserve.conf
在general小节中,加入三行内容
anon-access = none
auth-access = write
authz-db = /var/svn-repos/topcity/conf/authz
配置authz文件
vi /var/svn-repos/topcity/conf/authz
增加二行内容
[topcity:/]
svnuser = rw
7) 导入项目到svn:
svn import web svn+ssh://192.168.1.10/topcity -m "initial import"
8) 在svn服务器上配置自动更新(有需要的话):
cd /var/svn-repos/topcity/hooks
cp post-commit.tmpl post-commit
chown svn:svn post-commit
chmod a+x post-commit
vi post-commit
把其它注释掉,在最后加上:
/var/svn-repos/topcity/hooks/svnsshup.exp
服务器配置OK了,下面看看客户端应该怎么使用。
二.windows客户端配置
在windows环境下,svn+ssh方式需要用到三个软件:puttygen.exe,putty.exe,TortoiseSVN。在哪下载我就不多说了,google就是。
1) 首先把上面生成的私key svnuser.key 复制到windows上,再用puttygen.exe转成putty用的key文件。
点Load选中svnuser.key,然后再点save private key,保存一个svnuser.ppk的文件。
2)在putty内配置:
Connection -> SSH -> Auth 选中刚刚转好的ppk文件
Connection -> SSH -> Data 的Auto-login username输入svn。
把Session内输入hostname和session name保存,我这边输的都是192.168.1.10。
然后打开这个Session,如果显示下面这样的提示,说明就成功了。
Authenticating with public key "imported-openssh-key"
Server refused to allocate pty
( success ( 1 2 ( ANONYMOUS EXTERNAL ) ( edit-pipeline svndiff1 absent-entries ) ) )
3) TortoiseSVN内配置:
TortoiseSVN -> Settings -> Network
选择TortoiseSVN安装目录下面的TortoisePlink.exe文件
4) checkout
先打开putty连上服务器
再用TortoiseSVN检出:url:svn+ssh://svn@192.168.1.10/topcity
注意url内的192.168.1.10并不是指ip地址,而是在putty内配置的session名。
能正常checkout出来就说明ok了。
三.linux客户端配置
1) 在用户目录生成.subversion:
svn co
2) 复制服务器端生成的私key过来到这目录
cd .subversion
cp ../svnuser.key .
3) 配置config文件
vi config
在[tunnels]内增加一行:
ssh = /usr/bin/ssh -l svn -i /home/top_city/.subversion/svnuser.key
4)检出:
svn checkout svn+ssh://192.168.1.10/topcity
更新命令是:
cd topcity
svn up
svn 服务器端怎么增加用户,svn+ssh方式svn服务器和客户端的配置[转载]相关推荐
- SVN服务器与客户端的配置
2019独角兽企业重金招聘Python工程师标准>>> 参照http://blog.csdn.net/ladofwind/article/details/2100200 如何快速建立 ...
- SVN服务器和客户端的配置
一.SVN服务器的配置 1.分别安装TortoiseSVN,VisualSVN-Server,安装步骤省略. 2.打开VisualSVN-Server快捷键(没有快捷键的从我的电脑所有程序中打开) 3 ...
- SVN服务器及客户端安装配置详解
1.准备条件: 1. PC已经安装好了eclipse.JDK都已经完全ok 2. 下载TortoiseSVN-1.8.5.25224-win32-svn-1.8.8.msi 下载地 ...
- 使用ssh连接Linux服务器反应慢,配置DNS的问题
使用远程工具连接Linux服务器时,需要等待很长时间才能连接到服务器,而有的小伙伴会发现之前用的好好的,怎么突然不行了呢?在出现连接延迟之前小伙伴想想是不是改过DNS配置呢! 解决方法: 1.使用ro ...
- linux 设置防火墙ssh,centos 8 ssh命令(服务器设置、防火墙配置等)
1.安装 yum install iptables-services #安装iptables (如果你习惯centos6及以下版本所用的iptables防火墙的话,安装这个,如果已经安装了firewa ...
- 如何在Mac环境下搭建svn服务器端环境
为什么80%的码农都做不了架构师?>>> 在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Mac环境下,由于Mac自带了svn的服务器端和客户端功 ...
- svn中项目管理中ec_Mac中使用svn进行项目管理
Mac中使用svn进行项目管理,借鉴了http://blog.csdn.net/q199109106q/article/details/8655204 以下方案多人亲测可用 转载请注明出处:http: ...
- 华为交换机基本配置之Telnet和SSH方式远程登录
今天给大家带来的是如何在华为交换机配置Telnet和SSH的配置.实验拓扑如下 实验拓扑 实验需求 按照图示连接到真机,并配置IP地址(真机IP地址配置到VirtualBox Host-Only Et ...
- win7连接sftp_Windows 7下 搭建 基于 ssh 的sftp 服务器
Windows xp 下 搭建 基于ssh 的sftp 服务器,服务器端可以用freesshd,F-secure server等,filezilla server不可用,之前傻乎乎的用filezil ...
最新文章
- L-SNET:从区域定位到尺度不变的医学图像分割
- 监控日志采集的一些TIPS
- 深入解析Vue组件间通信
- 软件项目技术点(21)——自动保存和恢复
- echart label 不随值变化位置_炼丹神器来了! 模型结构、训练日志、特征提取都能可视化,调参不慌了!...
- Add a All Document Folder
- 记录最近的一些遇到的前端面试题
- C# 8 新特性 - 异步流 Asynchronous Streams
- 君威u0073故障码解决_顽疾修复过程,君威没倒挡的变速箱故障就是这样修好
- FPGA机器学习之学习的方向
- html是一种用于创建网页的标准标记语言,html
- CF1041E Tree Reconstruction
- python物理建模初学者指南 pdf 脚本之家_Blender权威指南 罗聪翼 著 中文 PDF 清晰扫描版 [114M]...
- 李宏毅2020机器学习笔记2——CXK
- Lightbend就收购OpsClarity一事与InfoQ的对话
- 腾讯万字Code Review规范出炉!别再乱写代码了
- Server Error in ‘/‘ Application.问题解决
- Apache安装配置(Linux)-有手就行
- 2019阿里云峰会·北京 | 十年再出发
- 【语音识别】语言模型LM
热门文章
- 【BZOJ3191】卡牌游戏,概率DP
- 【codevs1298】凸包周长,计算几何
- 【练习手记】【多题合集】用树状数组做线段树练习1、2、3
- 【codevs1079】回家
- python qt5 增加文本框_Python用PyQt5制作弹出式输入框,Qt图形界面编程之QInputDialog...
- oracle延迟约束不起作用,Oracle可延迟约束Deferable的使用
- 【英语学习】【WOTD】disparage 释义/词源/示例
- 【英语学习】【WOTD】intoxicate 释义/词源/示例
- 【英语学习】【WOTD】teem 释义/词源/示例
- 前锋php人工智能_人工智能除了学习php,还应该学什么?