前提條件:需要自己的服務器(廢話嘮叨一下- -!)
服務器的系統:CentOS 7,不會ssh遠程登錄服務器的出門左拐百度一下咯
服務器端
第一步:安裝git
yum install -y git
安裝完成後
第二步:添加git使用的用戶和密碼
useradd git #git 爲你的用戶名 不喜歡可以自己定義一個,但是定義後,下面的git都必須改爲你對應的用戶名!
passwd git #爲新用戶設置密碼這步一定不能跳過,跳過後面clone的時候會提示輸入密碼的!!密碼要8位數字以上!
提示:passwd: all authentication tokens updated successfully.證明密碼設置成功
第三步:創建git倉庫
選擇一個目錄作爲你的倉庫 例如/srv
cd /srv #進入創庫目錄
git init --bare aa.git #初始化項目測試目錄
但是該目錄擁有者不是git用戶,我們必須把它改爲git用戶:
chown -R git:git aa.git #更改擁有者的用戶,更改後:
服務器端工作暫時完成了,下面到客戶端:
客戶端
第一步:安裝git軟件 https://git-scm.com/downloads,一路next就可以安裝完成了
安裝完成後,打開git
第二步,設置你本地的用戶名和email地址:
git config --global user.name "myname"
git config --global user.email "[email protected]"
第三步,生成公私鑰:
ssh-keygen -t rsa -C "[email protected]" 然後一直按enter;知道出現成功的圖案:
id_rsa.pub你面的內容就是我們本電腦的公鑰
複製該密鑰到服務器端的/home/git/.ssh/authorized_keys文件中
注意:!!!!在/home/git/目錄下ls -al 查看是否有.ssh目錄!!
如果沒有,自己新建一個.ssh目錄和authorized_keys文件:
mkdir .ssh #創建目錄
chown -R git:git .ssh #修改擁有者
cd .ssh
touch authorized_keys #創建keys文件
chmod 700 authorized_keys #修改文件權限
chown -R git:git authorized_keys#修改文件擁有者
第四步:把客戶端電腦生成的密鑰複製到authorized_keys文件中:
vim authorized_keys
然後按a,插入密鑰,然後按ESC鍵,再輸入 :wq 保存退出(也可以用winscp或者其他編輯器把密鑰添加進去)
注意!!每個密鑰佔一行,如果想添加多個客戶端電腦需要換行再添加下一個用戶!
設置基本完成了,下面進行驗證:
git clone git@服務器地址:/srv/aa.git
出現下面提示證明成功了,注意:可能第一次clone 需要密碼,成功之後就不需要每次輸入密碼,如果每次clone 或者push都需要密碼肯定上面某個步驟錯了,或者git用戶權限不夠,密鑰填寫格式錯誤,密鑰文件和.ssh放置的目錄不正確,要仔細檢查一下。
本人專業水平有限,有什麼錯漏的地方請大神們指正,非常感謝。