1、安裝Git(阿里云的服務器貌似是自帶的,運行 git --version 可以查看安裝情況)
2、添加一個Git賬號,用來運行Git服務:
adduser git
passwd git
#輸入兩次密碼
#注意需要設置密碼,否則需要設置無密碼登錄,比較麻煩就直接設置密碼了
3、創建證書登錄:
收集所有需要登錄的用戶的公鑰,就是他們自己的id_rsa.pub
文件,把所有公鑰導入到/home/git/.ssh/authorized_keys
文件里,一行一個。由于這個文件可以沒有,需要自己創建,并設置權限為700
mkdir .ssh/
chmod 700 .ssh/
vi authorized_keys
4、初始化 Git 倉庫:
git init sample.git --bare
Git就會創建一個裸倉庫,裸倉庫沒有工作區,因為服務器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到服務器上去改工作區,并且服務器上的Git倉庫通常都以.git
結尾。然后,把owner改為git
:
chown -R git:git sample.git
5、禁用 shell 登錄:
出于安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd
文件完成。找到類似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改為:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因為我們為git用戶指定的git-shell每次一登錄就自動退出。
6、克隆遠程倉庫
git clone git@service:/data/git/sample.git