本文摘自: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服务器和客户端的配置[转载]相关推荐

  1. SVN服务器与客户端的配置

    2019独角兽企业重金招聘Python工程师标准>>> 参照http://blog.csdn.net/ladofwind/article/details/2100200 如何快速建立 ...

  2. SVN服务器和客户端的配置

    一.SVN服务器的配置 1.分别安装TortoiseSVN,VisualSVN-Server,安装步骤省略. 2.打开VisualSVN-Server快捷键(没有快捷键的从我的电脑所有程序中打开) 3 ...

  3. SVN服务器及客户端安装配置详解

    1.准备条件: 1.      PC已经安装好了eclipse.JDK都已经完全ok 2.      下载TortoiseSVN-1.8.5.25224-win32-svn-1.8.8.msi 下载地 ...

  4. 使用ssh连接Linux服务器反应慢,配置DNS的问题

    使用远程工具连接Linux服务器时,需要等待很长时间才能连接到服务器,而有的小伙伴会发现之前用的好好的,怎么突然不行了呢?在出现连接延迟之前小伙伴想想是不是改过DNS配置呢! 解决方法: 1.使用ro ...

  5. linux 设置防火墙ssh,centos 8 ssh命令(服务器设置、防火墙配置等)

    1.安装 yum install iptables-services #安装iptables (如果你习惯centos6及以下版本所用的iptables防火墙的话,安装这个,如果已经安装了firewa ...

  6. 如何在Mac环境下搭建svn服务器端环境

    为什么80%的码农都做不了架构师?>>>    在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Mac环境下,由于Mac自带了svn的服务器端和客户端功 ...

  7. svn中项目管理中ec_Mac中使用svn进行项目管理

    Mac中使用svn进行项目管理,借鉴了http://blog.csdn.net/q199109106q/article/details/8655204 以下方案多人亲测可用 转载请注明出处:http: ...

  8. 华为交换机基本配置之Telnet和SSH方式远程登录

    今天给大家带来的是如何在华为交换机配置Telnet和SSH的配置.实验拓扑如下 实验拓扑 实验需求 按照图示连接到真机,并配置IP地址(真机IP地址配置到VirtualBox Host-Only Et ...

  9. win7连接sftp_Windows 7下 搭建 基于 ssh 的sftp 服务器

    Windows  xp 下 搭建 基于ssh 的sftp 服务器,服务器端可以用freesshd,F-secure server等,filezilla server不可用,之前傻乎乎的用filezil ...

最新文章

  1. L-SNET:从区域定位到尺度不变的医学图像分割
  2. 监控日志采集的一些TIPS
  3. 深入解析Vue组件间通信
  4. 软件项目技术点(21)——自动保存和恢复
  5. echart label 不随值变化位置_炼丹神器来了! 模型结构、训练日志、特征提取都能可视化,调参不慌了!...
  6. Add a All Document Folder
  7. 记录最近的一些遇到的前端面试题
  8. C# 8 新特性 - 异步流 Asynchronous Streams
  9. 君威u0073故障码解决_顽疾修复过程,君威没倒挡的变速箱故障就是这样修好
  10. FPGA机器学习之学习的方向
  11. html是一种用于创建网页的标准标记语言,html
  12. CF1041E Tree Reconstruction
  13. python物理建模初学者指南 pdf 脚本之家_Blender权威指南 罗聪翼 著 中文 PDF 清晰扫描版 [114M]...
  14. 李宏毅2020机器学习笔记2——CXK
  15. Lightbend就收购OpsClarity一事与InfoQ的对话
  16. 腾讯万字Code Review规范出炉!别再乱写代码了
  17. Server Error in ‘/‘ Application.问题解决
  18. Apache安装配置(Linux)-有手就行
  19. 2019阿里云峰会·北京 | 十年再出发
  20. 【语音识别】语言模型LM

热门文章

  1. 【BZOJ3191】卡牌游戏,概率DP
  2. 【codevs1298】凸包周长,计算几何
  3. 【练习手记】【多题合集】用树状数组做线段树练习1、2、3
  4. 【codevs1079】回家
  5. python qt5 增加文本框_Python用PyQt5制作弹出式输入框,Qt图形界面编程之QInputDialog...
  6. oracle延迟约束不起作用,Oracle可延迟约束Deferable的使用
  7. 【英语学习】【WOTD】disparage 释义/词源/示例
  8. 【英语学习】【WOTD】intoxicate 释义/词源/示例
  9. 【英语学习】【WOTD】teem 释义/词源/示例
  10. 前锋php人工智能_人工智能除了学习php,还应该学什么?