在Linux 搭建GIT服务

发布 : 2019-01-13 分类 : 版本控制 浏览 :

在Centos7系统搭建一个GIT服务用于管理代码

服务端

安装git

1
2
3
4
5
6
#CentOS7安装git
yum install git

#查看git版本
git --version
#git version 1.8.3.1

创建 git 用户

用来管理 Git 服务,并为 git 用户设置密码

1
2
3
4
5
#添加git用户
useradd git

#设置git密码
passwd git

禁止 git 用户 ssh 登录服务器

vim /etc/passwd

1
2
3
#git:x:1000:1000::/home/git:/bin/bash
#改为
git:x:1000:1000::/home/git:/usr/bin/git-shell

这样git这个账户就只能用来克隆或者推送数据到git仓库中了
而不能用它来ssh登陆

创建git仓库

1
2
3
4
5
#创建一个源仓库
git init --bare /home/git/test.git

#设置仓库的访问权限
chown -R git:git /home/git/test.git

用户端

安装 git 用Git for Windows安装 这样有git bash
配置git略过

clone 项目

从 Linux Git 服务器上 clone 项目

1
git clone git@zhouinfo.site:test.git

如果SSH用的不是默认的22端口

1
git clone ssh://git@zhouinfo.site:9527/home/git/test.git

然后会提示输入git的密码

使用 SSH 公钥和私钥

1
ssh-keygen -t rsa -C "zhouinfo@qq.com"

C:\Users\zhou.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub
id_rsa 是私钥
id_rsa.pub 是公钥

配置服务器ssh

vim /etc/ssh/sshd_config
打开以下三个配置的注释

1
2
3
4
RSAAuthentication yes
PubkeyAuthentication yes #这两项为打开公钥模式
AuthorizedKeysFile .ssh/authorized_keys #配置公钥记录文件
PasswordAuthentication yes #打开密码验证模式

保存并重启 sshd 服务
./etc/rc.d/init.d/sshd restart或着service sshd reload
存放公钥的路径是 /home/git/.ssh/authorized_keys
把 .ssh 文件夹的 owner 修改为 git

修改文件所属人
chown -R git:git .ssh

将公钥上传到服务器的git用户目录下

1
2
ssh root@zhouinfo.site 'cat >> /home/git/ssh/authorized_keys' < ~/.ssh/id_rsa.pub
#也可以复制粘贴上传
1
2
#修改 .ssh 目录的权限为 755
chmod 755 -R .ssh
本文作者 : zhouinfo
原文链接 : http://blog.zhouinfo.site/2019/01/13/%E5%9C%A8Linux-%E6%90%AD%E5%BB%BAGIT%E6%9C%8D%E5%8A%A1/
版权声明 : 本博客所有文章除特别声明外,均采用 CC Apache License 2.0 许可协议。转载请注明出处!
留下足迹