環境:
1、服務器:阿里云服務器ECS
2、服務器系統:centos7
3、本機:mac
一、查看ssh版本
一般系統會默認內置OpenSSH,如果沒有,請自行安裝。通過命令 ssh -V 查看是否安裝

查看ssh版本
二、安裝Git
建議切換到root賬號
#切換root
su root
#安裝
yum install -y git
# 驗證是否安裝成功
git --version
三、添加git的管理的賬戶和設置密碼
$ adduser git
# 修改git的密碼
$ passwd git
# 然后兩次輸入git的密碼確認后。
# 查看git是否安裝成功
$ cd /home && ls -al
# 如果已經有了git,那么表示成,參考如下:
drwxr-xr-x. 5 root root 4096 Apr 4 15:03 .
dr-xr-xr-x. 19 root root 4096 Apr 4 15:05 ..
drwx------ 10 git git 4096 Apr 4 00:26 git
# 默認還給我們分配一個名字叫git的組。

創建git用戶并設置密碼

home下git目錄證明創建成功
四、配置服務端的ssh訪問
1.切換到git賬號
$ su git
# 2.進入 git賬戶的主目錄
$ cd /home/git
# 3.創建.ssh的配置,如果此文件夾已經存在請忽略此步。
$ mkdir .ssh
# 4. 進入剛創建的.ssh目錄并創建authorized_keys文件,此文件存放客戶端遠程訪問的 ssh的公鑰。
$ cd /home/git/.ssh
$ touch authorized_keys
# 5. 設置權限,此步驟不能省略,而且權限值也不要改,不然會報錯。
$ chmod 700 /home/git/.ssh/
$ chmod 600 /home/git/.ssh/authorized_keys
五、配置客戶端的公鑰和密鑰
1、查看是否有密鑰文件,在/Users/用戶名/.ssh 下面
2、如果沒有,使用命令ssh-keygen -t rsa 生成,回車默認即可
3、有兩個文件id_rsa.pub (公鑰)和id_rsa(私鑰)
4、把公鑰文件 id_rsa.pub的內容復制到服務器中/home/git/.ssh/authorized_keys 里面,
注意如果有多個人同時訪問,則每個人的公鑰內容是追加不是覆蓋
六、服務器端創建測試git倉庫
# 切換到git賬號
$ su git
# 進入git賬號的用戶主目錄。
$ cd /home/git
# 在用戶主目錄下創建 test.git倉庫的文件夾
$ mkdir test.git && cd test.git
# 在test.git目錄下初始化git倉庫
$ git init --bare
# 輸出如下內容,表示成功
Initialized empty Git repository in /home/git/test.git/
git init --bare 是在當前目錄創建一個裸倉庫,也就是說沒有工作區的文件,
直接把git倉庫隱藏的文件放在當前目錄下,此目錄僅用于存儲倉庫的歷史版本等數據。
#可以在webroot目錄下,克隆一個目錄,以后代碼可以直接在這更新
#git clone /home/git/test.git testDemo
七、客戶端測試連接git遠程倉庫
git clone git@ip:/home/git/test.git testDemo

客戶端下載代碼
八、禁止客戶端shell登錄
客戶端可以直接通過shell遠程登錄服務器,這不安全。
1、創建目錄 git-shell-commands
$ su git
$ mkdir /home/git/git-shell-commands
2、修改/etc/passwd文件
su root
vim /etc/passwd
# 找到這句, 注意1000可能是別的數字
git:x:1000:1000::/home/git:/bin/bash
# 改為:
git:x:1000:1000::/home/git:/bin/git-shell