1.在服務器上創建一個新用戶
adduser git
2.創建一個Git倉庫
cd /data/git //切換到希望創建工作區的目錄
git init --bare sample.git //創建一個Git倉庫,此時Git會創建一個唯一分支master
chown -R git:git sample.git//將sample.git的所有權從root修改到新創建的git
3.在服務器端打開RSA認證
在文件/etc/ssh/sshd_config中添加下列三行內容:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
創建用於存放客戶端公鑰的文件
cd /home/git //切換到剛剛創建的git用戶目錄下
mkdir .ssh
vim authorized_keys //創建用於存放客戶端公鑰的文件
4.在客戶端創建SSH key
ssh-keygen -t rsa -C "sample@geekzhou.com"
該命令會在用戶主目錄的.ssh文件夾下生成兩個文件:用於保存私鑰的id_rsa和用於保存公鑰的id_rsa.pub
5.把步驟4生成的公鑰導入服務器
將生成的id_rsa.pub中的內容拷貝到服務器文件/home/git/.ssh/authorized_keys
6.在客戶端clone遠程git倉庫
git clone git@115.28.222.133:/data/git/sample.git
其中115.28.222.133是服務器端的IP地址
(由於進行了步驟4和步驟5的設置,所以在clone倉儲的時候就無需再輸入密碼了)
7.禁止用戶git通過shell進行登錄
由於進行了步驟4和步驟5的設置,此時客戶端可以通過ssh git@115.28.222.133 直接登錄到服務器,如需禁止,修改文件/etc/passwd:
將git:x:1000:1000::/home/git:/bin/bash
修改為:git:x:1000:1000::/home/git:/usr/bin/git-shell
初始化master分支
在進行了一個commit操作后,master分支就會出現,此時執行git push就可以將本地的修改推送到遠程的master分支了.
至此遠程git服務器搭建完畢!
</div>