如题,如何快速搭建一个git服务,大致步骤如下:
1.安装git
2.创建用户
3.初始化裸仓库
4.配置公钥
5.禁止shell登录
下面是逐步操作:(系统是CentOS 7)
安装git
yum 安装(默认root用户)
yum install -y git
查看git 版本
git --version
安装成功后能看git 的版本信息
创建用户
创建一个用来运行git的用户
useradd your_git
设置密码
passwd your_git
创建成功后在 /home 里面会有一个用户的目录 (和你创建的用户同名)
顺便去用户目录里看一眼(里面是空的,除了隐藏文件)
初始化裸仓库
初始化裸仓库,我习惯放 /srv 目录里面, 在初始化命令之前,你还有其他工作
比如指定一个目录,没有就创建一个空目录,
目录名称就是 后面的 xxx.git 不一定是.git 结尾
但是,默认大家都这么干,所以你最好也这样做
然后 改变目录所有者为 git 用户(your_git)
主要命令:
git init --bare xxx.git
chown -R your_git:your_git xxx.git
配置公钥
本地公钥和服务器公钥存放
本地公钥位置:~/.ssh/ 就是用户家目录下面的一个隐藏目录 .ssh 里面
一个名为 id_rsa.pub 的文件内容 可以看到 ssh-rsa xxxxxxx 这些就是公钥
如果是windows(如 win 10)
如果没有.ssh 目录 ,则需要用命令生成公钥
来到用户家目录下,输入如下命令
ssh-keygen -o
服务器公钥保存位置:/home/your_git/.ssh/authorized_keys
your_git 目录是之前创建的git 用户的目录 默认里面是没有.ssh目录的 之前我们查看过
所以 需要创建 .ssh 目录 和 authorized_keys 文件
并修改所有者为你的git 用户 (your_git)
然后把你本地的公钥保存到 authorized_keys 文件中,如果有多条公钥,则一行一条
下面是保存在虚拟机里面的公钥:
别忘记修改.ssh目录的所有者为git用户了
到这里已经可以正常操作了
禁止shell登录
基于安全考虑,禁止用户 your_git shell 登录
修改/etc/passwd 文件中的一些内容即可,
在修改前,我们看下 git-shell 的位置 默认是在 /usr/bin/git-shell
whereis git-shell
vi /etc/passwd
编辑 /etc/passwd 文件可以看到如下图
看到红色框的内容了, 里面下划线的位置就是要改的地方,改成如下图
也就是上面我们查看 git-shell 这个文件的路径到这里就OK了,测试一下
克隆服务器上的仓库:
可以看到克隆的地址组成,local_git 是用户名(your_git) ,@ 后面是服务器地址 ,
: 后面是裸仓库的路径
之后就是git的正常操作了