svn+ssh简介

根据官网Tunneling over SSH介绍,svn支持通过ssh隧道访问。本文参考官网进行演示。

服务端配置

服务器

svn服务器为一台阿里云服务器,主机名为centos8,域名为thesre.cn。

软件安装

使用包管理器spack安装subversion,本次演示不指定版本,安装一个preferred的版本。

[thesre@centos8 ~]$ spack install subversion
==> Installing apr-1.7.0-zuo6zrpcmg7btzbx6xul5i542oqfioqa
==> No binary for apr-1.7.0-zuo6zrpcmg7btzbx6xul5i542oqfioqa found: installing from source
==> Fetching https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/_source-cache/archive/48/48e9dbf45ae3fdc7b491259ffb6ccf7d63049ffacbc1c0977cced095e4c2d5a2.tar.gz
######################################################################## 100.0%
==> apr: Executing phase: 'autoreconf'
==> apr: Executing phase: 'configure'
==> apr: Executing phase: 'build'
==> apr: Executing phase: 'install'
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/apr-1.7.0-zuo6zrpcmg7btzbx6xul5i542oqfioqa
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/libbsd-0.10.0-4yfr36rbg5jlp2q4yolagnyf5ognbxhx
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/libiconv-1.16-5d5uvwewuwzki4z4xxgeejefocxoyip7
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/berkeley-db-18.1.40-w4xsitrtckvtvtjebti23vu4fwxmezm3
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/pkgconf-1.7.3-oswo2hulw6iit2lsnuibgrhkd7w46zpz
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/zlib-1.2.11-vm7mszxxyvic3ej7jmrxrwhu4c7spvys
==> Installing lz4-1.9.2-cpihutxpgbes6mhunlpcmycb5ykykxc2
==> No binary for lz4-1.9.2-cpihutxpgbes6mhunlpcmycb5ykykxc2 found: installing from source
==> Fetching https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/_source-cache/archive/65/658ba6191fa44c92280d4aa2c271b0f4fbc0e34d249578dd05e50e76d0e5efcc.tar.gz
######################################################################## 100.0%
==> lz4: Executing phase: 'edit'
==> lz4: Executing phase: 'build'
==> lz4: Executing phase: 'install'
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/lz4-1.9.2-cpihutxpgbes6mhunlpcmycb5ykykxc2
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/xz-5.2.5-lu2laqfkvnenj3h7a6dgown7iw3zi4bo
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/libffi-3.3-ie7eaqv5iypzofel4gkao6x3k7d36sc5
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/libuuid-1.0.3-2syrordr2ty43ucobr4qjf6hoasrdnpk
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/expat-2.2.10-y2mtmfq5e7voeg5p5rjn6td7uzwzenvh
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/tar-1.32-i7mwnim22bv2hg7xytnn3b3aywf3zm3j
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/diffutils-3.7-3r5s47ufek24nuavkcyorrsvhgnevvid
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/ncurses-6.2-ddvl2niakwrcs5erwfmseopy6w7twdcz
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/libxml2-2.9.10-pxsxz3hpqcppwis6h5cxzlple72kpswu
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/bzip2-1.0.8-f5gxiqbglgzyyz47dgxgyphyj3frdkd6
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/readline-8.0-v3l6hs5w6mdkxqqs3nhdizs7y4ilyt3h
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/gettext-0.21-4behvt2cvgpjco4xx34yowliooktd3kg
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/gdbm-1.18.1-q6facxrdaiv2cngjr5igc7fu64f7lsdl
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/sqlite-3.33.0-3fjee5zne5hqqaia2jddyxqea54bka57
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/perl-5.32.0-dew37butfq22i4rnooqtxxveq3mwq5rq
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/openssl-1.1.1h-rys6nl74ap77z7gz56lsypiakqcwjthn
==> Installing apr-util-1.6.1-ptk46cxr7wn5wg5gko6sadfj6542euo4
==> No binary for apr-util-1.6.1-ptk46cxr7wn5wg5gko6sadfj6542euo4 found: installing from source
==> Using cached archive: /apps/opensource/spack/var/spack/cache/_source-cache/archive/b6/b65e40713da57d004123b6319828be7f1273fbc6490e145874ee1177e112c459.tar.gz
==> apr-util: Executing phase: 'autoreconf'
==> apr-util: Executing phase: 'configure'
==> apr-util: Executing phase: 'build'
==> apr-util: Executing phase: 'install'
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/apr-util-1.6.1-ptk46cxr7wn5wg5gko6sadfj6542euo4
==> Installing cmake-3.18.4-5hvxjokut4ye3rirskek5simi63k6lwq
==> No binary for cmake-3.18.4-5hvxjokut4ye3rirskek5simi63k6lwq found: installing from source
==> Fetching https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/_source-cache/archive/59/597c61358e6a92ecbfad42a9b5321ddd801fc7e7eca08441307c9138382d4f77.tar.gz
######################################################################## 100.0%
==> cmake: Executing phase: 'bootstrap'
==> cmake: Executing phase: 'build'
==> cmake: Executing phase: 'install'
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/cmake-3.18.4-5hvxjokut4ye3rirskek5simi63k6lwq
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/python-3.8.6-mtftamh47q4pgqmjlew7yzl65pfugryq
==> Installing utf8proc-2.4.0-b5eysgxx36riqt42j5po6hmn5hopuuab
==> No binary for utf8proc-2.4.0-b5eysgxx36riqt42j5po6hmn5hopuuab found: installing from source
==> Fetching https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/_source-cache/archive/b2/b2e5d547c1d94762a6d03a7e05cea46092aab68636460ff8648f1295e2cdfbd7.tar.gz
######################################################################## 100.0%
==> utf8proc: Executing phase: 'cmake'
==> utf8proc: Executing phase: 'build'
==> utf8proc: Executing phase: 'install'
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/utf8proc-2.4.0-b5eysgxx36riqt42j5po6hmn5hopuuab
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/py-setuptools-50.3.2-jidexxt5nnojxghtqjnddxccrcclxtwj
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/scons-3.1.2-dp6r2qytaezap546nwge2inoac5ons3n
==> Installing serf-1.3.9-m7ykoawinlbhivx73lgajzqjq4k4k7ne
==> No binary for serf-1.3.9-m7ykoawinlbhivx73lgajzqjq4k4k7ne found: installing from source
==> Using cached archive: /apps/opensource/spack/var/spack/cache/_source-cache/archive/54/549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc.tar.bz2
==> serf: Executing phase: 'build'
==> serf: Executing phase: 'install'
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/serf-1.3.9-m7ykoawinlbhivx73lgajzqjq4k4k7ne
==> Installing subversion-1.14.0-gxystzjl4d2xubfv5gz5owga7643gfwl
==> No binary for subversion-1.14.0-gxystzjl4d2xubfv5gz5owga7643gfwl found: installing from source
==> Fetching https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/_source-cache/archive/ef/ef3d1147535e41874c304fb5b9ea32745fbf5d7faecf2ce21d4115b567e937d0.tar.gz
######################################################################## 100.0%
==> subversion: Executing phase: 'autoreconf'
==> subversion: Executing phase: 'configure'
==> subversion: Executing phase: 'build'
==> subversion: Executing phase: 'install'
[+] /apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/subversion-1.14.0-gxystzjl4d2xubfv5gz5owga7643gfwl

加载subversion

module load subversion

创建svn repo,名称为repo01

[thesre@centos8 ~]$ mkdir svnPractice
[thesre@centos8 ~]$ cd svnPractice/
[thesre@centos8 svnPractice]$ svnadmin create --fs-type fsfs repo01
[thesre@centos8 svnPractice]$ ls -A repo01/
conf  db  format  hooks  locks  README.txt

配置repo01

匿名不可访问

[thesre@centos8 svnPractice]$ egrep -v '^#|^\s*$' repo01/conf/svnserve.conf
[general]
anon-access = none
[sasl]

用户ben可以读写

[thesre@centos8 svnPractice]$ egrep -v '^#|^\s*$' repo01/conf/authz
[aliases]
[groups]
[repo01:/]
ben = rw

配置ssh隧道

[thesre@centos8 svnPractice]$ tail -1 ~/.ssh/authorized_keys
command="/apps/opensource/spack/opt/spack/linux-centos7-broadwell/gcc-10.2.0/subversion-1.14.0-gxystzjl4d2xubfv5gz5owga7643gfwl/bin/svnserve -t -r /home/thesre/svnPractice/ --tunnel-user=ben",,no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding ssh-rsa <KEY> ben@MacBook-Pro.lan

用户端配置

用户端

用户端为一台普通Mac,下文将通过命令行访问svn服务器的仓库。

软件安装

同服务器端一样,使用包管理器spack安装

spack install subversion

加载subversion

module load subversion

生成并~/.subversion/conf文件

╭─ben at MacBook Pro in ~ 2021/04/13 - 21:31:51
╰─○ svn co # 本命令触发生成~/.subversion文件夹以及相关配置文件
svn: E205001: Try 'svn help checkout' for more information
svn: E205001: Not enough arguments provided
╭─ben at MacBook Pro in ~/.subversion 2021/04/13 - 21:49:06
╰─○ egrep -v '^#|^\s*$' config
[auth]
[helpers]
[tunnels]
ssh = /usr/bin/ssh -l thesre -i ~/.ssh/id_rsa --
[miscellany]
[auto-props]
[working-copy]

用户验证

╭─ben at MacBook Pro in ~/.subversion 2021/04/13 - 21:34:11
╰─○ svn info svn+ssh://thesre.cn/repo01
Path: repo01
URL: svn+ssh://thesre.cn/repo01
Relative URL: ^/
Repository Root: svn+ssh://thesre.cn/repo01
Repository UUID: e6289242-9c5b-11eb-b12f-25d094c79126
Revision: 0
Node Kind: directory
Last Changed Rev: 0
Last Changed Date: 2021-04-13 21:26:48 +0800 (Tue, 13 Apr 2021)╭─ben at MacBook Pro in ~ 2021/04/13 - 21:53:33
╰─○ cd /tmp
╭─ben at MacBook Pro in /tmp 2021/04/13 - 21:53:49
╰─○ svn co svn+ssh://thesre.cn/repo01
Checked out revision 0.
╭─ben at MacBook Pro in /tmp 2021/04/13 - 21:53:53
╰─○ cd repo01
╭─ben at MacBook Pro in /tmp/repo01 2021/04/13 - 21:54:07
╰─○ echo "This is a test file." > test.txt
╭─ben at MacBook Pro in /tmp/repo01 2021/04/13 - 21:54:12
╰─○ svn add test.txt
A         test.txt
╭─ben at MacBook Pro in /tmp/repo01 2021/04/13 - 21:54:48
╰─○ svn ci -m "Wow, this is my first file to commit."
Adding         test.txt
Transmitting file data .done
Committing transaction...
Committed revision 1.
╭─ben at MacBook Pro in /tmp/repo01 2021/04/13 - 21:55:14
╰─○ svn info svn+ssh://thesre.cn/repo01
Path: repo01
URL: svn+ssh://thesre.cn/repo01
Relative URL: ^/
Repository Root: svn+ssh://thesre.cn/repo01
Repository UUID: e6289242-9c5b-11eb-b12f-25d094c79126
Revision: 1
Node Kind: directory
Last Changed Author: ben
Last Changed Rev: 1
Last Changed Date: 2021-04-13 21:54:52 +0800 (Tue, 13 Apr 2021)╭─ben at MacBook Pro in /tmp/repo01 2021/04/13 - 21:55:25
╰─○ 

svn+ssh服务器与客户端配置方法相关推荐

  1. FJ集团企业级邮件服务器---iRedMail客户端配置

    FJ集团企业邮件服务器---iRedMail客户端配置 一.Roundcube Webmail设置: 1.登录:注:用户名:paul 密码:XXXX 2.发邮件: 如下图所示: 二.客户端outloo ...

  2. ifix如何设画面大小_ifix5.1环境下的ifix服务器、客户端配置

    ifix5.1环境下的ifix服务器.客户端配置 本实验是在 IFIX5.1 版本下做的 IFIX 服务器.客户端配置,实现 IFIX 客户端对 IFIX 服务器的读.写,并且两台服务器互为备用(主机 ...

  3. ssh免密登录配置方法及配置

    ssh免密登录配置方法及配置 直接上步骤,记我们本机为机器A,而机器B.机器C等是我们的服务器,我们要配置的是A到B.C等的 ssh 免密登录. 1 在机器A上生成秘钥对 ssh-keygen 会得到 ...

  4. ifix怎么装服务器系统上,ifix服务器和客户端配置

    ifix服务器和客户端配置 内容精选 换一换 准备好服务端和客户端,根据组网规划完成物理服务器的物理组网.本文档中以3台客户端和3台TaiShan服务器作为服务端为例.本次部署流程中以3台客户端节点和 ...

  5. 组态王登录服务器为空,组态王服务器与客户端配置

    组态王服务器与客户端配置 内容精选 换一换 准备好服务端和客户端,根据组网规划完成物理服务器的物理组网.本文档中以3台客户端和3台TaiShan服务器作为服务端为例.本次部署流程中以3台客户端节点和3 ...

  6. 修改 ifix 历史配置 服务器名,IFIX5.1环境下的IFIX服务器、客户端配置

    <IFIX5.1环境下的IFIX服务器.客户端配置>由会员分享,可在线阅读,更多相关<IFIX5.1环境下的IFIX服务器.客户端配置(15页珍藏版)>请在人人文库网上搜索. ...

  7. NTP时钟服务器IP地址配置方法(海康大华版)

    NTP时钟服务器IP地址配置方法(海康大华版) 有时候我们去查看录像发现无法正常查到录像并回放录像,排查了硬盘状态和录像计划都是没有问题的,还有什么需要我们去确认下呢? 这个时候我们可以去看下设备时间 ...

  8. SOPHGO SE5微服务器的连接配置方法及IP查看修改

    SOPHGO SE5微服务器的连接配置方法及IP查看修改 SE5盒子的配置方法 SE5盒子如何修改IP(执行`bm_set_ip`提示没有该命令) SE5盒子的配置方法 SE5盒子有两种配置方式: S ...

  9. 组态王客户机服务器系统,组态王服务器与客户端配置

    组态王服务器与客户端配置 内容精选 换一换 当出现以下问题时,可以参考本章节排查解决.可以直接访问后端业务,但是无法通过负载均衡访问后端业务.通过私网IP可以访问负载均衡,但是公网IP无法访问负载均衡 ...

最新文章

  1. 压测接口线程数设置_ZAT掌门性能压测巡检系统实战和落地
  2. writelines是python对文件的写操作方法_Python File writelines() 方法
  3. Java 蓝牙无线API 简介
  4. gcc编译c文件_Linux下C语言程序的编译过程
  5. 连分数中一个有意思的小玩意儿
  6. [转]Windows Shell 编程 第十一章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987992】...
  7. 阿米洛无法打开蓝牙模式_企业为什么要学习阿米巴模式?
  8. java 中字符串比较方法_java中常用的字符串的比较方法(两种)
  9. 觅凤c语言教程,C语言程序设计教程 第1章.ppt
  10. 电子书下载:Professional ASP.NET MVC 2
  11. 2020年中职学计算机有前途吗,2020年南昌中专计算机专业都学什么
  12. 数据结构 10分钟让你掌握经典排序(一)
  13. Python三:面向对象 之 类的封装
  14. 第6章 面向方面编程
  15. 哪些好的绘图软件和绘图工具?
  16. 卡尔曼滤波,互补滤波,“Tsinghua”滤波
  17. wsimport命令生成webService java客户端代码
  18. JAVA根据开始时间和结束时间获取天数
  19. 互联网 必须有免费的精神
  20. file_get_contents获取参数并用file_put_contents保存图片

热门文章

  1. 经典算法研究系列:七、深入浅出遗传算法
  2. 编程初学者的一些学习干货笔记
  3. otter异常——zookeeper重新初始化
  4. java工作中好用的方法
  5. TensorRT加速
  6. 【刷题】验证回文字符串
  7. tomcat是什么?简单解释
  8. Elasticsearch 基于地理位置的搜索查询
  9. 聊聊互联网行业对35岁码农的偏见,以及大龄码农的破局之道
  10. 《3D Point Cloud Registration for Localization using a Deep Neural Network Auto-Encoder》读书笔记