(SVN+SSH)搭建SVN并使用SSH进行免密拉取推送代码

news2025/8/12 2:12:09

【SVN+SSH】搭建SVN并使用SSH进行免密拉取推送代码

  • 一、安装svn、openssh-server服务
  • 二、开启svn服务,创建测试仓库,并能通过账号密码拉取
      • 定义svn仓库文件位置
      • 创建仓库:acc_repo
      • 配置拉取仓库的账号密码
      • 通过账号密码拉取代码
  • 三、创建测试仓库,通过svn+ssh拉取代码
      • 创建仓库:ssh_repo
      • 配置拉取仓库的ssh通道
      • 配置ssh代理的centos用户,开启ssh凭证认证
      • 尝试拉取代码,以centos为例,不介绍TortoiseSVN使用

一、安装svn、openssh-server服务

yum install -y openssh-server subversion
systemctl start svnserve.service
systemctl enable svnserve.service

二、开启svn服务,创建测试仓库,并能通过账号密码拉取

定义svn仓库文件位置

vim /etc/sysconfig/svnserve

在这里插入图片描述

创建仓库:acc_repo

svnadmin create /home/svn/repos/acc_repo

配置拉取仓库的账号密码

cd /home/svn/repos/acc_repo/conf/

cat svnserve.conf

[general]
# force-username-case = none
# 匿名访问的权限 可以是read、write,none,默认为read
anon-access = none
# 使授权用户有写权限
auth-access = write
# 密码数据库的路径
password-db = passwd
# 访问控制文件
authz-db = authz
# 认证命名空间,SVN会在认证提示里显示,并且作为凭证缓存的关键字
realm = /var/svn/account

[sasl]

cat authz

[aliases]

# 用户组
[groups]
admin = admin

#用户组所对应的目录
[/]
@admin = rw

#用户组权限
*=r

cat passwd

[users]
admin = 123456

通过账号密码拉取代码

svn co svn://192.168.140.12/acc_repo --username admin

三、创建测试仓库,通过svn+ssh拉取代码

创建仓库:ssh_repo

svnadmin create /home/svn/repos/ssh_repo

配置拉取仓库的ssh通道

cat svnserve.conf

[general]
# 匿名访问的权限 可以是read、write,none,默认为read
anon-access = none
# 使授权用户有写权限
auth-access = write
# 访问控制文件
authz-db = authz

[sasl]

cat authz(注意:此处设置的用户将用作ssh通道中指定svn的用户

[aliases]

# 用户组
[groups]

#用户组所对应的目录
[test:/]
svnuser = rw

配置ssh代理的centos用户,开启ssh凭证认证

创建新的centos用户:svn_ssh

useradd svn_ssh
passwd svn_ssh

生成一个ssh密钥对,用作ssh登录凭证

ssh-keygen -t rsa -b 1024 -f svnuser.key

将生产的公钥放置svn_ssh用户下的authorized_keys(/etc/ssh/sshd_config中的默认公钥文件就是authorized_keys

mkdir -p /home/svn_ssh/.ssh

设置 authorized_keys 格式如下

command="svnserve -t -r <ReposRootPath> --tunnel-user=<author>",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding ssh-rsa <PublicKey> <Comment>
  • <ReposRootPath> 为仓库根路径
  • <author> 为之前设置的svn用户
  • <PublicKey> ssh生成的公钥

cat /home/svn_ssh/.ssh/authorized_keys

command="/usr/bin/svnserve -t -r /home/svn/repos --tunnel-user=svnuser",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCsvesIsA/gdEn6tJTslgs034kLdRMqgPFQMHWAui3fJ9kCbY4ZJaHSmCF0aBOHdvQtRCseMnPzt7zxnPrmTWlMWBWtJTu7rYxvSC5hyewaExv9k+u1JKIkCK2lgSPhvP+V3qQbxSKA421vaGU98lrG2jsPGYJJxKn82C34/4Fx0w== root@dsmp-2.3.1.novalocal

尝试拉取代码,以centos为例,不介绍TortoiseSVN使用

生成用户.subversion目录

svn co 

设置svn ssh拉取代码制定的key文件(需要将之前生成的私钥拷贝过来)

vim ~/.subversion/config

在[tunnels] 下面添加配置
ssh = /usr/bin/ssh -l svn -i /root/.subversion/svnuser.key

拉取代码

svn co svn+ssh://192.168.140.12/ssh_repo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/15262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云安全系列3:如何构建云安全策略

云计算拯救了很多企业&#xff0c;因为它可以迅速调整以支持更大规模的工作以及更多的在线用户。随着2023年的到来&#xff0c;宏观经济逆风聚集&#xff0c;它将更加具有吸引力&#xff0c;这归功于它更高的业务敏捷性和更优的成本效率比。Gartner 预测&#xff0c;到 2023 年…

聚观早报|腾讯员工平均月薪超8万;马斯克考虑卸任特斯拉CEO

今日要闻&#xff1a;腾讯员工平均月薪超8万&#xff1b;马斯克考虑卸任特斯拉CEO&#xff1b;iPhone双十一销量近350万部&#xff1b;暴雪将在大陆暂停多数服务&#xff1b;高德地图上线北斗卫星定位查询系统腾讯员工平均月薪超8万 据报道&#xff0c;腾讯控股11月16日发布202…

4-8岁儿童EEG微状态研究:年龄和性别的影响

大规模神经网络的超快时空动态可以通过静息状态脑电图&#xff08;EEG&#xff09;微观状态来检验&#xff0c;这代表了随时间动态演化的同步神经活动的短暂时期。在成人中&#xff0c;四种典型的微观状态已被证明可以解释静息状态脑电图的大部分地形差异。它们的时间结构依赖于…

【北亚数据恢复】硬盘出现坏道的数据恢复方案

经常使用电脑和移动硬盘的用户&#xff0c;如果察觉到电脑运行速度变得很慢&#xff0c;即使做了磁盘整理和系统重装操作后速度还是没有恢复到正常状态&#xff0c;这个时候就要小心是硬盘盘片出现坏道了。 如果这个时候用硬盘检测软件扫描硬盘就会发现扫描界面上出现很多绿块&…

SEO的了解

什么是SEO SEO&#xff0c;也就是搜索引擎优化的逻辑&#xff0c;其实是非常简单的。这就像是在大学里的学生会主席&#xff0c;你要让投票者给你更多的选票。那么&#xff0c;你需要先「自我优化」&#xff0c;无论是外表还是能力&#xff1b;此外&#xff0c;你还需获得更多…

【猿创征文】Vue3 企业级优雅实战 - 组件库框架 - 7 组件库文档的开发和构建

本系列已更新文章&#xff1a; 分享一个实用的 vite vue3 组件库脚手架工具&#xff0c;提升开发效率 开箱即用 yyg-cli 脚手架&#xff1a;快速创建 vue3 组件库和vue3 全家桶项目 Vue3 企业级优雅实战 - 组件库框架 - 1 搭建 pnpm monorepo Vue3 企业级优雅实战 - 组件库框架…

Vue2的路由和异步请求

目录 1.路由 1.1路由的作用 1.2使用CLI3创建带路由功能的Vue2项目(案例) &#xff08;1&#xff09;创建vue项目 &#xff08;2&#xff09;选择手动设置特性&#xff08;Manually select features&#xff09; &#xff08;3&#xff09;添加路由特性选项 1.3 路由使用入门 …

企业如何利用APS排程软件建立起精益供应链与生产体系

精益供应链&#xff0c;英文称为Lean Supply Chains&#xff0c;它来源于精益管理&#xff0c;将从产品设计到顾客得到产品&#xff0c;整个过程所必需的步骤和合作伙伴整合起来&#xff0c;快速响应顾客多变的需求&#xff0c;其核心是减少、消除企业中的浪费&#xff0c;用尽…

skywalking全链路追踪

系统: centos7.6.1810 内核: 3.10.0-957.el7.x86_64 一、先下载相关的工具 官网下载地址: https://skywalking.apache.org/downloads/ openresty官网下载地址: http://openresty.org/en/download.html 下载openresty工具&#xff0c;捆绑了lua模块&#xff0c;收集日志需要用到…

Arctic——流式湖仓系统

1、Arctic介绍 Arctic 是由网易开源的流式湖仓系统&#xff0c;Arctic 在 Iceberg 和 Hive 之上添加了更多实时场景的能力&#xff0c;并且面向 DataOps 提供流批统一&#xff0c;开箱即用的元数据服务&#xff0c;让数据湖更加好用和实用。 Arctic 是搭建在 Apache Iceberg …

详解MybatisPlus数据安全

MybatisPlus数据安全 概述 ​ 存在数据库中的数据对于普通用户而言是不可见的&#xff0c;好像是藏起来了一样&#xff0c;但对于开发者&#xff0c;只要知道数据库的连接地址、用户名、密码&#xff0c;则数据不再安全&#xff1b;这也意味着&#xff0c;一旦连接数据库的配…

卡塔尔世界杯倒计时!世界杯直播在哪里观看?美家市场汇总来了!

来了来了&#xff0c;2022卡塔尔世界杯倒计时3天&#xff01;2022卡塔尔世界杯将在北京时间11月21日开始&#xff0c;持续时间28天&#xff0c;至2022年12月18日结束&#xff0c;将近一个月的赛程让众多球迷们期待不已&#xff0c;这一个月将是全世界球迷们最快乐的一个月&…

【网站架构】如何长久运行升级?高可用部署只是基础,巡检、监控、应用数据备份、日志、灰度发布

大家好&#xff0c;欢迎来到停止重构的频道。本期讨论大型网站的可用性。 高可用指的是当一部分服务器宕机时&#xff0c;网站系统仍可正常运行。 一些常用的软件服务的高可用部署方案 &#xff0c;如Tomcat、Nginx、Redis、MySQL等&#xff0c;在往期性能调优时已经有详细的介…

H5组件Canvas画电子印章

效果图 代码 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>HTML5 Canvas印章</title> <script type"text/javascript" src"https://code.jquery.com/jquery-2.2.4.js"></scri…

电科大离散数学-4-二元关系

目录 4.1 序偶和笛卡尔积 4.1.1 有序组的定义 4.1.2 笛卡儿积 4.1.3 笛卡儿积的性质 4.1.4 推广 4.2 关系的定义 4.2.1 二元关系的定义 4.2.2 二元关系的数学符号 4.2.3 枚举二元关系 4.2.4 几种重要关系 4.2.5 定义域和值域 4.2.6 n元关系 4.3 关系的表示 4.3.1…

[附源码]SSM计算机毕业设计中小型艺术培训机构管理系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

List<Map<String, Object>>,Map<String,List<Map<String, Object>>>多方式循环遍历

多方式循环遍历1. List<Map<String, Object>>多方式循环测试结果2. Map&#xff1c;String,List&#xff1c;Map&#xff1c;String, Object&#xff1e;&#xff1e;&#xff1e;测试结果☀️相关笔记章节&#xff1a; &#x1f339;java 1.8 stream使用总结&…

MySQL8.0优化 - 优化MySQL服务器、优化MySQL的参数、优化数据类型

文章目录学习资料优化MySQL服务器优化服务器硬件配置较大的内存配置高速磁盘系统合理分布磁盘I/O配置多处理器优化MySQL的参数innodb_buffer_pool_sizekey_buffer_sizetable_cachequery_cache_sizequery_cache_typesort_buffer_sizejoin_buffer_sizeread_buffer_sizeinnodb_flu…

RabbitMQ初步到精通-第四章-RabbitMQ工作模式-SIMPLE

RabbitMQ工作模式-SIMPLE模式 1.模式介绍 这是最简单的一个模式了&#xff0c;一般在实际的生产环境中&#xff0c;大家应该都不会使用一个消费者。只做入门的介绍。 一个生产者&#xff0c;一个默认的交换机【图中没体现】&#xff0c;一个队列&#xff0c;一个消费者。 生产…

【Java技术专题】「Java8技术盲区」函数接口字典-看看还有哪些你所不知道函数接口

函数接口的定义 函数式接口(Functional Interface)就是一个有且仅有一个抽象方法&#xff0c;但是可以有多个非抽象方法的接口。 函数接口的特点 函数式接口可以被隐式转换为lambda表达式。 Lambda表达式和方法引用&#xff08;实际上也可认为是Lambda表达式&#xff09;上。 …