CentOS 7 git 服务器搭建流程
之前搭建了一个git服务器,发现网上的教程貌似缺了一点点东西,特意整理一下,留作备份。
1.首先安装必须的软件
su root //切换到root用户下进行
yum update
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel yum install git
2.新建用户组
groupadd git //新建git用户组
useradd yingkui -g git //新建用户,并添加到git组中
passwd yingkui //设置用户密码,这一步也可以不做,可以使用证书登陆,二选一
3.生成证书(如果设置了密码的话,也可以不使用证书登陆)
su yingkui //切换到yingkui用户
cd ~
ssh-keygen //按下三次回车确认,~/.ssh下会生成id_rsa.pub和id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
4.修改sshd(/etc/ssh/sshd_config)配置文件
su root //切换回root用户
vim /etc/ssh/sshd_config
编辑配置文件(/etc/ssh/sshd_config)
配置如下:
RSAAuthentication yes
PubkeyAuthentication yes
StrictModes no
AuthorizedKeysFile .ssh/authorized_keys
5.重启ssh服务
service sshd restart
6.配置/etc/passwd文件
vim /etc/passwd
找到类似下面的一行:
yingkui:x:1001:1001:,,,:/home/yingkui:/bin/bash
改为:
yingkui:x:1001:1001:,,,:/home/yingkui:/bin/git-shell
7.初始化git仓库
mkdir /git
mkdir /git/test.git //仓库的名字暂且叫test.git
cd /git/test.git
git init --bare
//设置权限 这一步不操作的话会导致push失败
chgrp -R git /git/test.git //修改所属用户组
chmod -R g+rwx /git/test.git //修改用户组权限
8.复制出证书,生成ppk
复制出第三步生成的证书,这里我使用了TortoiseGit的PuTTYgen工具来生成ppk,点击Conversions->Import Key->Save private key生成ppk
9.
这样子就算是搭建好了,可以clone测试一下
git clone 用户名@域名(IP):/git/test.git
如果没有导入证书的话,就会提示输入密码,如果导入证书了就不需要密码