CentOS7搭建Git服务器(免密码方式)

1. 安装Git及创建用户


# 安装Git

# yum install git

# 创建一个git用户组和用户,用来运行git服务(最好为git用户设置密码,以防万一)。

# groupadd git
# adduser git -g git

 

2. 创建证书登录


2.1 打开RSA认证

添加证书之前,还要做这么一步:
Git服务器打开RSA认证 。在Git服务器上首先需要将/etc/ssh/sshd_config中的RSA认证打开,即将sshd_config文件中下面几个的注释解开:

1.RSAAuthentication yes      #这行可能要自己添加

2.PubkeyAuthentication yes

3.AuthorizedKeysFile .ssh/authorized_keys

 

2.2 创建authorized_keys文件,用于存储客户端公钥

然后执行以下命令,创建一个文件为: /home/git/.ssh/authorized_keys

# mkdir /home/git/.ssh
# chmod 700 /home/git/.ssh
# touch 700 /home/git/.ssh/authorized_keys
# chmod 600 /home/git/.ssh/authorized_keys

修改.ssh/authorized_keys的拥有者:

# chown git:git .ssh
# chown git:git .ssh/authorized_keys

把客户端的公钥放进去,1个公钥1行,追加即可(id_rsa.pub文件是2.3客户端生产的公钥id_rsa.pub)。

# cat id_rsa.pub >> authorized_keys

2.3 创建客户端公钥(.pub文件)
# 创建私钥,执行ssh-keygen(linux可直接执行,windows可在Git Bash命令行窗口执行该命令)命令后,不输入,直接3个回车,windows为例,在C:\Users\Administrator\.ssh目录下,会生成id_rsa和id_rsa.pub两个文件,拷贝id_rsa.pub文件上传到服务器,将内容追加到authorized_keys文件里

$ ssh-keygen -t rsa -C "你的邮箱"

 

3.初始化Git仓库


# cd /srv
# mkdir gitrepo
# chown git:git gitrepo/
# cd gitrepo

# 创建一个空的Git仓库,服务器上的Git仓库通常都以.git结尾

# git init --bare project.git

# 将仓库所属用户改为git

# chown -R git:git project.git

 

4. 克隆仓库(客户端)


在另一台电脑上(下面称为:Client),安装git,并且运行下面的命令:

$ git clone [email protected]:/srv/gitrepo/project.git

以上ip是虚拟机的ip地址。

测试OK!

 

5.禁止git用户登录


为安全起见,需要禁止git用户登录服务器,修改/etc/passwd文件:

# 找到git用户的配置:
git:x:1001:1001::/home/git:/bin/bash

# 改为:
git:x:1001:1001::/home/git:/bin/git-shell

至此,Git服务器安装完成。
 

你可能感兴趣的:(Linux)