自己搭建Git服務器並實現無密碼訪問.


環境: win7 64位

軟件准備:  
版本號可以無視
1.Git-1.9.2-preview20140411
2.GitExtensions24703SetupComplete
3.vs2010(非必要)
4.vbox
5.debian安裝光盤DVD第一張
 
 
git服務器實際上就是一個linux文件服務器.通過ssh這個協議來處理的.
各種windows架設都太麻煩而且會破壞一些已有的配置.我對linux又比較熟悉,所以還是架設linux好了.
搞清楚這一點,下面就很好辦了.
要解決三個問題: 服務器架設及配置, 客戶端程序安裝及配置, 虛擬機和宿主機互訪問題(通常是宿主機訪問虛擬機)
 
一 服務器架設及配置
 
1.安裝debian在虛擬機vbox中
locale選擇英文, 最好斷開網絡安裝,其它默認就好.
 
2.配置debian
 
安裝git-core
apt-get install git-core

生成帳號git及創建必要目錄

adduser git
mkdir ~/.ssh

在git的home里創建一個中央倉庫

mkdir  /home/git/foo.git 
cd /home/git/foo.git 
git --bare init

 

 
二 虛擬機和宿主機互訪問題
 
使用默認的NAT方式 配置 端口轉發
本機的2200端口
子系統的22端口
訪問形式 
ssh git@127.0.0.1:2200

即可訪問虛擬機的22端口的ssh服務了

 
三 客戶端程序安裝及配置
 
1.先安裝git, git-extentions
如果提示缺失cygpath.exe還要安裝cygwin,把cygpath.exe和cygwin1.dll復制到git bin的目錄下.
 
2.生成密鑰  
ssh-keygen

得到~/.ssh下的兩個文件

id_rsa 私鑰(保存在本地,不要重命名也不要移動)
id_rsa.pub 公鑰
 
 
3.上傳公鑰到服務器
 
打開git bash
scp ~/.ssh/id_rsa.pub git@127.0.0.1:2200
ssh git
@127.0.0.1:2200
 
         

登入虛擬機后:

cat id_rsa.pub >> ~/.ssh/authorized_keys

4. 配置git-extentions

ssh使用openssh
 
5. url推送方式
ssh://git@127.0.0.1: 2200/home/git/test2.git
2200即為剛剛設置的本機端口
 
收尾: 修改虛擬機的訪問方式只能通過密鑰. 
/etc/ssh/sshd_config
PasswordAuthentication no
 
問題:  vs2010默認推送的是遠程而不是url...困擾中.
 
 2014.5.29 解決了:
遠程為管理遠程里默認配置的地址,而url地址為不經常使用而自定義的地址
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM