在主機上建立一個 git 賬戶,讓每個需要寫權限的人發送一個 SSH 公鑰,然後將其加入 git 賬戶的~/.ssh/authorized_keys 文件。這樣一來,所有人都將通過 git 賬戶訪問主機。這絲毫不會影響提交的數據 — 訪問主機用的身份不會影響提交對象的提交者信息。
# sudo addusergit
創建公鑰:ssh-keygen,
在客戶端的用戶目錄下查看生成的公鑰和私鑰對
#cd ~/.ssh
#ls
id_dsa id_dsa.pub
公鑰所在的目錄:windows在”C:/User/username/.ssh”目錄下,linux在”~/.ssh”,~代表用戶目錄
將各個用戶的公鑰文件追加在服務器git用戶的authorized_keys文件中
$ cat id_rsa.john.pub >> ~/.ssh/authorized_keys
$ cat id_rsa.josie.pub >> ~/.ssh/authorized_keys
$ cat id_rsa.jessica.pub >> ~/.ssh/authorized_keys
修改.ssh和authorized_keys的權限).忘記下面的話,會每次輸入密碼,(ps,被這個坑了好久)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
cd gitDIR
mkdir project.git
cd project.git
git init –bare
提交自己的庫
mkdir project
cd project
git init
vi first.txt
git remote add origin gitserver/gitDIR/project.git
git push origin master
克隆:git clonegit@gitserver/gitDIR/project.git
默認情況下,能夠連接git服務器用戶也可以通過ssh直接登陸服務器,那麼服務器將會存在被多用戶登入的風險,限制的方法是:
Vi /etc/passwd
git:x:1000:1000::/home/git:/bin/sh
該行修改後的樣子如下:
git:x:1000:1000::/home/git:/bin/git-shell