Centos 7 搭建Git服務器(阿里雲服務器)

環境:

1、服務器:阿里雲服務器ECS

2、服務器系統:Centos7

3、本機:Mac

一、查看ssh版本

一般系統會默認內置OpenSSH,如果沒有,請自行安裝。通過命令 ssh -V 查看是否安裝

Centos 7 搭建Git服務器(阿里雲服務器)

查看ssh版本

二、安裝Git

建議切換到root賬號

<code>#切換root
su root
#安裝
yum install -y git
# 驗證是否安裝成功
git --version/<code>

三、添加git的管理的賬戶和設置密碼

<code>$ 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的組。/<code>


Centos 7 搭建Git服務器(阿里雲服務器)

創建git用戶並設置密碼


Centos 7 搭建Git服務器(阿里雲服務器)

home下git目錄證明創建成功

四、配置服務端的ssh訪問

<code>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/<code>

五、配置客戶端的公鑰和密鑰

1、查看是否有密鑰文件,在/Users/用戶名/.ssh 下面

2、如果沒有,使用命令ssh-keygen -t rsa 生成,回車默認即可

3、有兩個文件id_rsa.pub (公鑰)和id_rsa(私鑰)

4、把公鑰文件 id_rsa.pub的內容複製到服務器中/home/git/.ssh/authorized_keys 裡面,

注意如果有多個人同時訪問,則每個人的公鑰內容是追加不是覆蓋

六、服務器端創建測試git倉庫

<code># 切換到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/<code>

七、客戶端測試連接git遠程倉庫

git clone git@ip:/home/git/test.git testDemo

Centos 7 搭建Git服務器(阿里雲服務器)

客戶端下載代碼

八、禁止客戶端shell登錄

客戶端可以直接通過shell遠程登錄服務器,這不安全。

1、創建目錄 git-shell-commands

<code>$ su git
$ mkdir /home/git/git-shell-commands/<code>

2、修改/etc/passwd文件

<code>su root
vim /etc/passwd

# 找到這句, 注意1000可能是別的數字
git:x:1000:1000::/home/git:/bin/bash

# 改為:
git:x:1000:1000::/home/git:/bin/git-shell /<code>


分享到:


相關文章: