服務器操作系統:CentOS7.4
客戶端操作系統:MacOSX 10.13
1.在服務器安裝git
git 程序既可以用作客戶端,也可以用作服務器。
我以root賬號ssh登錄
# yum install git
2.創建一個用戶組git
建立用戶組的目的在於對於這個git服務器,賦予多人訪問權限時,可以統一管理。
# groupadd git
3.在用戶組git下創建一個用戶,名字也為git
# adduser git -g git
這個用戶用作一個訪問服務器的公共用戶。
此命令可能不會當場需要你輸入密碼,這時可以跳過,不用管它
4.在客戶端創建RSA密鑰
注意,這一步是在Mac上進行
$ ssh-keygen
輸入命令后會出現提示Enter passphrase (empty for no passphrase):這一步和下一步的確定需要直接回車,並且生成~/.ssh/id_rsa私鑰和~/.ssh/id_rsa.pub公鑰這兩個文件。我們把~/.ssh/id_rsa.pub這個文件里的內容全部復制下來,然后進行下一步。
5.在服務器上建立文件保存公鑰
注意,這里又回到了服務器,我們還是用root登錄
# cd /home/git/
# mkdir .ssh
# chmod 700 .ssh
# touch .ssh/authorized_keys
# chmod 600 .ssh/authorized_keys
# chown -R git:git .ssh
其中/home/git目錄為服務器上用戶git的主頁目錄,上訴操作相當於在/home/git/.ssh/目錄下新建一個authorized_keys文件。並把目錄.ssh的權限設置為700,authorized_keys文件權限設置為600.
因為git的pull相當於讀操作,push相當於寫操作,所以需要讀寫權限。
6.復制客戶端公鑰內容到服務器authorized_keys文件
這里涉及vim操作,大家可以搜索做法
7.在服務器初始化git倉庫
選定一個目錄作為Git倉庫,假定是/data/gitroot/memo.git:
# cd /data
# mkdir gitroot
# chown git:git gitroot/
# cd gitroot
# git init --bare memo.git
# chown -R git:git memo.git
8.在客戶端克隆倉庫
$ git clone git@101.200.xxx.xxx:/data/gitroot/memo.git
其中101.200.xxx.xxx為git服務器ip,需要將其修改為你自己的git服務器ip。
如果此時還需要輸入密碼,那么請參考
或者在客戶端使用命令進行調試
ssh -vvT git@gihubserverip
本人就是在生成公鑰時,輸入了自己的passphrase(密碼),然后git clone和git push時都需要輸入密碼
