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

【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.hqwc.cn/news/21025.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker笔记 Dockerfile镜像原理以及制作镜像

1. Docker 镜像原理 思考&#xff1a; Docker镜像本质是什么&#xff1f; 答&#xff1a;是一个分层的文件系统。Docker中一个centos镜像为什么只有200MB&#xff0c;而一个centos操作系统的iso文件要几个G&#xff1f; 答&#xff1a;Centos的iso镜像包含bootfs和rootfs&…

【网络】IP协议

目录 感性理解 IP协议报头 解包分用 分片与组装 网段划分 为什么要进行网段划分 感性理解网段划分 特殊IP地址IP地址的数量限制 私有IP地址和公网IP地址 路由 感性理解 1.在之前的文章中介绍了TCP协议&#xff0c;TCP提供了可靠传输的一系列策略&#xff08;如&#…

分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)

目录 分布式锁解决方案_数据库乐观锁实现的分布式锁 分布式锁解决方案_Redis实现的分布式锁原理 分布式锁解决方案_Redis实现的分布式锁 分布式锁解决方案_Redis分布式锁误删除问题 分布式锁解决方案_Redis分布式锁不可重入问题 分布式锁解决方案_基于Redisson实现的分布式…

又一家Tier1巨头「杀进」HUD赛道,2025年搭载率或破30%

作为未来智能座舱的新交互入口&#xff0c;HUD赛道正处于关键上车周期。与此同时&#xff0c;不少传统座舱Tier1巨头也在紧盯市场蛋糕。 就在去年&#xff0c;宝马官方发布了全新一代HUD演示效果&#xff0c;将会首发搭载于宝马NFUE KLASSE新世代概念车型&#xff0c;计划2025年…

HBase性能调优(二)

感谢点赞和关注 &#xff0c;每天进步一点点&#xff01;加油&#xff01; 版权声明&#xff1a;本文为CSDN博主「开着拖拉机回家」的原创文章&#xff0c;遵循CC 4.0 BY-SA版权协议&#xff0c;转载请附上原文出处链接及本声明。 Hbase性能调优&#xff08;二&#xff09;_开着…

消息中间件RabbitMQ详解

一、 消息中间件 简介 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流&#xff0c;并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型&#xff0c;它可以在分布式环境下扩展进程间的通信。 使用环境 消息中间件适用于需要可靠的数据传送…

6.Python:如何用Python进行数据可视化?

数据可视化是数据分析过程中不可或缺的一步&#xff0c;Python作为一个强大的编程语言&#xff0c;在数据可视化方面也是非常优秀的。本文将介绍使用Python进行数据可视化的基本步骤和常用工具。 一、Python数据可视化常用工具 Matplotlib Matplotlib是Python中最常用的数据…

「观察者(Observer)」设计模式 Swift实现

这里写目录标题 介绍设计模式介绍举例 iOS 中已有的 观察者设计模式实现Notification什么是通知机制或者说如何实现通知机制&#xff1f; KVOKVO底层实现如何实现手动KVO&#xff1f; 介绍 设计模式介绍 观察者设计模式&#xff08;Observer Pattern&#xff09;是一种行为型…

windows 下载安装Redis,并配置开机自启动

windows 下载安装Redis&#xff0c;并配置开机自启动 1. 下载 地址&#xff1a;https://github.com/tporadowski/redis/releases Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择&#xff0c;这里我们下载 Redis-x64-xxx.zip压缩包&#xff0c;之后解压 打…

简要介绍 | 边缘计算:原理,研究现状与未来展望

注1&#xff1a;本文系“简要介绍”系列之一&#xff0c;仅从概念上对边缘计算进行非常简要的介绍&#xff0c;不适合用于深入和详细的了解。 边缘计算&#xff1a;原理&#xff0c;研究现状与未来展望 What is Edge Computing? | Moving Intelligence to the Edge 一、背景介…

滑动奇异频谱分析:数据驱动的非平稳信号分解工具(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

SPSS方差分析

参考文章 导入准备好的数据 选择分析方法 选择参数 选择对比&#xff0c;把组别放入因子框中&#xff0c;把红细胞增加数放进因变量列表 勾选“多项式”&#xff0c;等级取默认“线性” &#xff0c;继续 接着点击“事后比较”&#xff0c;弹出对话框&#xff0c;勾选“LSD” …