(SVN+SSH)搭建SVN并使用SSH进行免密拉取推送代码
创始人
2024-01-30 05:17:38
0

【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  --tunnel-user=",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding ssh-rsa  
  • 为仓库根路径
  • 为之前设置的svn用户
  • 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

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...