文章目录

  • 1、安装 Git
  • 2、用户
  • 3、安装 gitolite
  • 4、配置gitolite
  • 5、免密码登录

【 参考】

1、安装 Git

(1) 安装依赖包

[root@nginx ~]#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y

(2) 在线安装git

  [root@bogon ~]# yum -y install git

(3) 下载安装包安装方式

[root@bogon git-2.2.0]#tar xf git-2.2.0.tar.gz
[root@bogon git-2.2.0]#cd  git-2.2.0/
[root@bogon git-2.2.0]#make prefix=/usr/local/git all
[root@bogon git-2.2.0]#make prefix=/usr/local/git install

(4) 增加软连接

[root@bogon git-2.2.0]#ln -s /usr/local/git/bin/* /usr/bin/

(5) 验证结果,显示出版本号,表示安装成功

[root@bogon git-2.2.0]#git --version
git version 2.2.0

2、用户

(1) 创建 git 用户

[root@bogon ~]# useradd git

(2) 切换到git用户

[root@bogon ~]# su - git
[git@bogon ~]$ pwd                 #查看当前位置
/home/git

(3) 确认.ssh/authorized_key是否存在

[git@bogon ~]$ ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla

备注:
如果免密配置后,仍然无法免密登录,可以查看 /var/log/secure 文件,确定拒绝登录的原因。如果跟权限有关,那么应该修改相关目录的权限。

比如 .ssh 目录的权限应该为 700,如果权限给的过大,则会报错: Authentication refused: bad ownership or modes for directory /home/git/.ssh

3、安装 gitolite

创建bin目录并安装gitolite 到bin目录($ 表示普通用户)

[git@bogon ~]$ git clone https://github.com/sitaramc/gitolite
[git@bogon ~]$ mkdir $HOME/bin
[git@bogon ~]$ gitolite/install -to $HOME/bin
[git@bogon ~]$ cd bin/
[git@bogon bin]$ ls
commands  gitolite  gitolite-shell  lib  syntactic-sugar  triggers  VERSION  VREF

4、配置gitolite

gitolite 使用特定的版本仓库 gitolite-admin 来管理用户和其他版本库。

(1) 用git用户生成公钥

注:如果你是接着上面一直做下来的,那么只需要输入cd ,然后回车,则就进入了该用户的目录,如果不是git用户,则需要输入su – git,来切换到git用户)

[git@bogon ~]cd
[git@bogon ~]$ ssh-keygen -t rsa

(2) 修改.ssh/id_rsa.pub 为 admin.pub(为什么要改成admin.pub 因为gitolite根据这个文件名来设立帐号.我这里用admin

[git@bogon ~]$ mv .ssh/id_rsa.pub admin.pub

(3) 使用管理员公钥安装gitolite

[git@bogon ~]$ $HOME/bin/gitolite setup -pk admin.pub

去/home/git/repositories 里面,可以看见仓库文件.gitolite-admin.git 和testing.git 一个是管理仓库的(只有管理员有读写权限),一个是测试用(所有人都有权限)

(4) clone 管理员管理仓库(不需要输密码)

[git@bogon ~]$ git clone git@127.0.0.1:gitolite-admin

进入仓库后可以看到conf 和keydir ,conf/gitolite.conf 是添加用户/仓库的配置, keydir 是放对应用户的公想·x钥.并且此时,admin.pub这个公钥可以删除了

(5) 编辑gitolite.conf

[git@bogon ~]$ vim gitolite-admin/conf/gitolite.conf

详细的配置规则,参考 gitolite

(6) 然后提交修改(注:修改用户或者增加版本库后在下图中的目录中提交修改,否则会提示修改失败)

提交修改:

[git@bogon conf]$ git add keydir/test.pub conf/gitolite.conf
[git@bogon conf]$ git add .
[git@bogon conf]$ git commit -am "new project"
[git@bogon conf]$ git push origin master

(7) 提交完后,查看管理仓库中多了一个project.git

[git@bogon ~]$ cd repositories/
[git@bogon repositories]$ ls
gitolite-admin.git  project.git

这个时候,服务器已经搭建完毕了,只需要添加用户并给用户添加权限就可以了。下面我们添加用户测试

5、免密码登录

(1) 使用 ssh-keygen.exe 生成一对密钥文件: id_rsa, id_rsa.pub

(2) 将公钥文件 id_rsa.pub 修改为 用户名.pub, 例如 xiaoming.pub,放置在 git 服务器的 /home/git/gitolite-admin/keydir 目录下

(3) 将私钥放置在用户的 .ssh 目录下

比如 windows 平台 C:\Users\xiaoming\.ssh

(4) 修改 gitolite.conf 文件,配置用户 xiaoming 的访问权限

修改用 git push 到仓库中

(5) 在客户机上验证

git clone git@192.168.100.100:testing.git

验证是否可以免密码操作!

centos + git + gitolite 服务搭建相关推荐

  1. CentOS 6.7 Gitolite 服务搭建及TortoiseGit配置连接

    咳咳~好几天没写博文啦,这几天都在研究Git,没办法公司要要抛弃SVN转站Git,废话就不多说,下面我们进行操作演示: 环境:之前搭建的Redis-Master服务器一枚,配置一般般~ 工具:Tort ...

  2. GIT Windows服务端搭建笔记

    GIT Windows服务端搭建笔记 所需软件: GIT服务端: Bonobo Git Server,下载最新版 https://bonobogitserver.com/ 一:配置服务端(基于Wind ...

  3. CentOS -OpenStack-pike 服务搭建

    Centos-7 部署openstack-pike步骤详解 加入老张: 作者老张 关注老张微信公众号: 一.        环境准备: 控制节点与计算节点都做环境部署 1.1   两台虚拟机 两台ce ...

  4. CentOS下直播和点播服务搭建

    转载自:CentOS下直播和点播服务搭建 一.准备环境 1.下载wget.lrzsz工具 yum install -y wget yum install -y lrzsz 2.备份系统原来的repo文 ...

  5. Centos RSYNC服务搭建

    前言: 总结下RSYNC服务搭建 介绍: Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件. 特点: 能更新整个目录和树和文件系统 ...

  6. git gitolite 搭建git服务器

    准备环境 centOS7 192.168.1.216 1. 在git服务器中安装git软件 [root@bogon ~]# yum -y install git 2. 添加git用户 [root@bo ...

  7. centos7 安装git_Centos7.4 Yapi 服务搭建

    Centos Yapi服务搭建 转载请标明原文出处 参考以下网址,排名不分先后 https://github.com/YMFE/yapi https://blog.csdn.net/guangzhou ...

  8. git hook 自动部署 linux git本地服务器搭建 git root 目录 git 仓库 git root/ .git

    服务器自动部署项目之GitHooks神器 - CSDN博客 -- 每次都是将本地将代码push到远程仓库,然后再ssh到服务器上git pull,甚是麻烦.在项目开发中使用git的时候,push之后, ...

  9. Gitolite + repo 搭建安卓源码开发环境

    Gitolite + repo 搭建安卓源码开发环境 转载请注明出处:http://blog.csdn.net/u011479494/article/details/50629669 相比gitosi ...

最新文章

  1. apache代理模块proxy使用
  2. 使用容器的正确方式,Docker在雪球的技术实践
  3. easyexcel读取合并单元格内容_一周一个小技巧 | excel不会核对内容?不会填充合并单元格?7个实用的EXCEL技巧,一起来看看吧...
  4. 苹果:AMD yes!官方开售显卡模块,价格1.8万起
  5. 算法学习--Day3
  6. 【转】SAP Fiori Design Guidelines基础篇
  7. GraphPad Prism 9.3 MacOS 2021科研绘图统计 支持Monterey 安装使用教程
  8. java数据结构有哪些_java有哪些数据结构?
  9. android中sp的意义_两分钟理解Android中SP与DP的区别
  10. 技术研究院005---如何基于DDD构建微服务架构
  11. Qt4_Find File对话框
  12. 程序员过了 30 岁就没人要了?!
  13. 慢动作重播~ 英伟达AI能把普通视频,变成高质量慢动作视频
  14. microsoft store 安装包_Stata 15软件安装包免费下载附安装教程
  15. 中国科学院全国名词委组合数学和计算机科学研究开发中心 顾同新,有关组合数学家陆家羲的几点史实澄清.doc...
  16. windows10打开natapp.exe 报Error: oppen NUL: The system cannot find the file specified.
  17. RTMP转HTTP-FLV视频流web端应用流程记录
  18. 服务器4块固态硬盘做raid5,RAID 5与RAID 10、硬盘和固态硬盘
  19. sturts2框架知识点(Struts2框架----今天脑子有点炸)
  20. unityar自动识别人脸_三款Unity插件带您玩转人脸识别与模拟

热门文章

  1. 小白怎么做一个轮播图?(思路+代码)
  2. 地域和地方的区别_经济区域和区域经济的区别和联系是什么
  3. Vue3的组件开发大法不完全指北
  4. 各种插入函数收集整理
  5. 线上服务器内存飙升怎么排查?
  6. 【mysql】limit实现分页
  7. linux运行lnk,LNK 文件扩展名: 它是什么以及如何打开它?
  8. 【正点原子Linux连载】第一章 应用编程概念-摘自【正点原子】I.MX6U嵌入式Linux C应用编程指南V1.1
  9. 2022年国自然正式放榜,如何解读基金立项结果?(附查询方法)
  10. Review CAP定律分布式系统