git有四種協議傳輸資料:本地協議,ssh協議,git協議和http(s)協議。這四種協議各有應用場合,其中,最常用的是ssh協議,這是因為大多數環境已經支援通過ssh對伺服器的訪問,即便不支援,架設ssh協議也是比較容易的。而且,ssh是四種協議中唯一便於同時具有讀和寫功能的網路協議,這對協同開發是必要的,所以這裡選擇ssh協議來搭建git伺服器。
第一步:準備工具
msysgit:windows環境下的git,通過該工具安裝git。
copssh:通過該工具在git伺服器上安裝ssh協議及客戶端。
第二步:安裝git和copssh
在伺服器端安裝git和copssh。假設git的安裝目錄為「c:\git」,copssh的安裝目錄為「c:\ssh」。注意在安裝copssh時,需要手動啟用乙個使用者,假設為最高許可權管理者administrator,因為我們要使用公鑰私鑰方式進行認證,所以不要勾選「
password authenticatin」選項。完成後,進入ssh目錄,找到etc目錄下的ssh_config和sshd_config檔案,去除ssh_config中「# port 22」前的#號,確認sshd_config檔案中的port也為22。同時,確保防火牆沒有關閉ssh埠。
第三步:使copssh能使用git
經過前兩步,伺服器上git和copssh都已能正常工作,也可以通過ssh協議訪問伺服器了,但是還不能通過copssh使用git,這樣還不能遠端管理git倉庫。要想遠端使用git,需完成如下工作:在「c:\git\libexec\git-core」目錄下找到git.exe,git-upload-pack.exe,git-upload-archive.exe和git-receive-pack.exe四個檔案,將它們複製到「c:\ssh\bin」目錄下。同時,將「c:\git\bin」目錄下的「libiconv-2.dll」檔案也複製到該目錄下。最後,重啟copssh即可。這樣,通過ssh協議連上伺服器後就可以使用git了。
第四步:配置使用者環境
預設情況下,copssh會在「c:\documents and settings\administrator」目錄下尋找authorized_keys檔案,這是我們不希望看到的,需要配置使得authorized_keys檔案位於「c:\ssh\home\administrator\.ssh」目錄下。在「c:\ssh\home\administrator」目錄下找到.bashrc檔案,在「# user dependent .bashrc file」行下新增「 export home=/c/ssh/home/administrator」,注意「/c/ssh」為copssh安裝目錄,按照自己的情況填寫。同時注意,該行前面有乙個空格且斜線為unix下的風格樣式。完成修改後,將.bashrc檔案複製到「c:\documents and settings\administrator」目錄下。
第五步:測試
開啟本地git,要想通過ssh協議與git伺服器通訊,需要通過公鑰私鑰認證。為了檢查本地是否存在公鑰私鑰檔案對,可以通過命令「cd ~/.ssh」切換到.ssh目錄檢視,檔名大致為id_rsa.pub和id_rsa,前者為公鑰,後者為私鑰。如果不存在,則通過git命令「ssh-keygen」產生,然後將產生的公鑰檔案內容加入到git伺服器上的authorized_keys檔案即可。
假設git伺服器上存在hello_world.git倉庫,位於「c:\ssh\home\administrator」目錄下,且git伺服器ip為192.168.10.45,那麼就可以在本地轉殖hello_world.git倉庫,命令為「git clone [email protected]:hello_world.git」,注意使用者名稱(即:administrator)區分大小寫。
WindowsXP下搭建GIT伺服器
windowsxp下搭建git伺服器 git沒有客戶端伺服器端的概念,但是要共享git倉庫,就需要用到ssh協議 ftp https sftp等協議也能實現git共享,此文件不討論 但是ssh有客戶端伺服器端,所以在windows下的開發要把自己的git倉庫共享出去的話,就必須做ssh伺服器。一 安...
Docker mac下環境搭建
截至發文時,本機安裝版本資訊 2 安裝 kubernetes 3 啟動docker 和 kubernetes 這裡也是出現問題最多的地方,網上有多篇文件,但大部分不可用或已失效。尤其是掛 的方案。採用github的乙個方案,驗證可用。git clone 有文章說需要手動改images.propert...
CentOS 環境下 搭建 LNMP環境
關掉防火牆,避免實驗中出現伺服器無法訪問的情況 chkconfig iptables off安裝lnmp環境所需的開發包和庫檔案 yum y install ntp make openssl openssl devel pcre pcre devel libpng libpng devel libj...