博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Centos6.5 搭建基于 SSH协议 Git Server 服务器
阅读量:2242 次
发布时间:2019-05-09

本文共 2646 字,大约阅读时间需要 8 分钟。


  • Git 数据传输协议:
    • 本地传输
    • SSH 协议
    • Git 协议
    • HTTP 协议
  • SSH 是唯一同时支持读写操作的网络协议

一、 搭建Git-Server

  • 本文主要搭建基于SSH协议的Git-Server
  • 本文Git_server IP: 192.168.1.30

1. 安装 git python-setuptools

# 安装 gitosis 需要用到python-setuptoolsyum install git python-setuptools -y

2. 安装gitosis

  • Gitosis 是一套用来管理 authorized_keys 文件和实现简单连接限制的脚本.
  • git-server添加用户和设定权限都是通过git仓库实现,修改完毕,推送后 ,Gitosis就会随之改变运行策略。
# gitossis 项目存放目录cd /usr/src# 克隆 gitosis 到本地 git clone git://github.com/res0nat0r/gitosis.git # 通过 python 脚本安装 gitosiscd gitosis/ && python setup.py install

3. 添加用户git

# 添加 git 用户useradd -r -s /bin/sh -c 'git version control' -d /home/git git chown git:git -R /home/git

4. 配置项目管理端

  • 可以直接用客户端克隆管理仓库来做管理
  • 但请记得把生成的公钥上传到sever端初始化gitosis

  • 下文用 git-server(192.168.1.30)来做管理

# root用户下生成公钥ssh-keygen -t rsa   # 复制公钥到临时存放目录cp ~/.ssh/id_rsa.pub /tmp/admin.pub    #切换到git用户su - git    #用公钥初始化 gitosisgitosis-init < /tmp/admin.pub #确保 post-update 权限chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update    #创建并克隆项目管理仓库mkdir /git_admin/ -p && cd /git_admin/ git clone git@192.168.1.30:gitosis-admin.git    # 非SSH默认端口克隆命令,例 2222端口# git clone ssh://192.168.1.30:2222/gitosis-admin.git

二. 新建项目 web-git

1. 添加项目开发者

# 在项目管理仓库内添加权限cd /usr/local/git/gitosis-admin # vim gitosis.conf[gitosis][group gitosis-admin]writable = gitosis-adminmembers = admin#以下为添加[group myteam] # 项目用户组名writable = web-git # 项目名members = admin # 开放 admin 对 web-git 的权限# 同步推送到 Git_sever git add .  # 添加 git commit -am "Add web-git project users admin"    # 备注git push # 推送

2. 开发者初始化项目

# 创建项目存放目录mkdir /data/web-git chown git:git -R web-git/   # 在项目存放目录下初始化项目cd /data/web-git    git init    # 创建 test.txt 测试文件echo "test" >> test.txt# 添加并同步提交到web-git项目git add test.txt    git commit -am "the first commit is add test.txt"git remove add origin ssh://git@192.168.1.30/web-git.gitgit push origin master

三. 添加其它开发者

  • 注意:gitosisi.conf 中的用户名和keydir下的密钥名称一定要相同

1. 开放开发权限

# 在项目管理仓库内cd gitosis-admin/#vim gitosis.conf [gitosis][group gitosis-admin]writable = gitosis-adminmembers = admin[group myteam]writable = web-gitmembers = admin  penguin  #添加项目开发者penguin

2. 添加开发者密钥

  • 用户 penguin 已经在 win7 下通过 puttygen 生成密钥
#创建penguin对应公钥文件#vim keydir/penguin.pubssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAgoh8sru+4E0mzZbqyR6OUXlk4/ksJF1G2vlAI9dPrDie2qAt2ZBPk6xPCeDE66YYMfY10gHKDqpFhBI+lUKo9viQj1e5nNGNpKYEdEwCrZUtjlN9N80C1Zxg4jXqMERrpK2mFBGHEKMWW2ltvD9yGQnvsXaZH8BjTs56FmrEAbAZYZjjzJXLyBuf/6V2i5erW75HRVsx67oX8GY5ZdGEUQA8a6uSyODGtFsl0jxzKwtO2ISrjTj+0psqSFTGxD5ELLqIWrmEBkmNr6NcFmkAq7AYTKEn3j06cIctfFaqppyLKWwarV90a2VY5SQK0vqwjZyqSM7hxw0jc4F/AIpvyQ== rsa-key-20150901
# 同步推送到 Git_servergit add .git commit -am "add user penguin"git push

四. Win7 客户端配置详情


  • 至此,全部安装工作完成!

转载地址:http://vigbb.baihongyu.com/

你可能感兴趣的文章
特征工程怎么做
查看>>
机器学习算法应用中常用技巧-1
查看>>
决策树的python实现
查看>>
了解 Sklearn 的数据集
查看>>
如何选择优化器 optimizer
查看>>
一文了解强化学习
查看>>
CART 分类与回归树
查看>>
seq2seq 的 keras 实现
查看>>
seq2seq 入门
查看>>
什么是 Dropout
查看>>
用 LSTM 做时间序列预测的一个小例子
查看>>
用 LSTM 来做一个分类小问题
查看>>
详解 LSTM
查看>>
按时间轴简述九大卷积神经网络
查看>>
详解循环神经网络(Recurrent Neural Network)
查看>>
为什么要用交叉验证
查看>>
用学习曲线 learning curve 来判别过拟合问题
查看>>
用验证曲线 validation curve 选择超参数
查看>>
用 Grid Search 对 SVM 进行调参
查看>>
用 Pipeline 将训练集参数重复应用到测试集
查看>>