1、查看安装的git版本
# git --version
我的服务器目前是没有安装git的,现通过阿里云的yum方式来安装。
2、yum安装git
首先可以查看一下yum源仓库的git信息
# yum info git
Available Packages
Name : git
Arch : x86_64
Version : 1.8.3.1
Release : 12.el7_4
Size : 4.4 M
Repo : updates/7/x86_64
Summary : Fast Version Control System
URL : http://git-scm.com/
安装
# yum install -y git
成功之后查看版本
# git --version
git version 1.8.3.1
3、创建git用户组和用户,用来运行git服务
# groupadd git
# adduser git -g git
# passwd git
输入密码 如 123456
4、创建证书登录
Git服务器打开RSA认证 。在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,
# vi /etc/ssh/sshd_config
即:
1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile .ssh/authorized_keys
收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把公钥导入/home/git/.ssh/authorized_keys文件里,一行一个。如果没有该文件创建它
git 安装及配置参考
# cd /home/git/
# mkdir .ssh
# chmod 700 .ssh
# touch .ssh/authorized_keys
# chmod 600 .ssh/authorized_keys
5、初始化Git仓库
# cd /home/git
# git init --bare test.git
Initialized empty Git repository in /home/git/test.git/
以上命令会创建一个空仓库,服务器上的Git仓库通常都以.git结尾。
# chown -R git:git test.git/
6、本地克隆仓库
# git clone git@your-ip:test.git
Cloning into 'test'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
your-ip 为您 Git 所在服务器 ip
客户端创建 SSH 公钥和私钥
$ ssh-keygen -t rsa -C "test"
此时 C:\Users\用户名.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub
id_rsa 是私钥
id_rsa.pub 是公钥
将客户端公钥导入服务器端
$ ssh git@服务器IP 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
7、禁止Shell登录
出于安全考虑,git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。
找到类似下面的一行:
# vi /etc/passwd
git:x:502:502::/home/git:/bin/bash
改为
git:x:502:502::/home/git:/usr/local/git/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出
此时 git 用户可以正常通过 ssh 使用 git,但无法通过 ssh 登录系统。
注意开启sshd
运行服务:
# service sshd start