如何在WINDOWS(XP)下使用copSSH配置GIT伺服器+TortiseGIT用戶端

來源:互聯網
上載者:User
如何在WINDOWS(XP)下使用copSSH配置GIT伺服器+TortiseGIT用戶端

(注意不能用PuttyGen的儲存公開金鑰的功能,要手動複製,不然會連不上)

(注意不能用PuttyGen的儲存公開金鑰的功能,要手動複製,不然會連不上)

(注意不能用PuttyGen的儲存公開金鑰的功能,要手動複製,不然會連不上)

(注意不能用PuttyGen的儲存公開金鑰的功能,要手動複製,不然會連不上)

(注意不能用PuttyGen的儲存公開金鑰的功能,要手動複製,不然會連不上)

  近日對GIT進行了研究,發現還真是個好東東,但是在GIT伺服器的配置上,在試用了多個SSH伺服器之後,始終未能搞定,導致幾近崩潰;最終靠著秉承“外事問Google,內事問百度”的理念,終於找到了一篇E文的部落格,才算搞定。今把過程展示出來,希望對大家能有協助。(註:本文嚴重參考了以下部落格http://www.timdavis.com.au/git/setting-up-a-msysgit-server-with-copssh-on-windows/,在此表示強烈感謝)

  基本原理:使用copSSH在WINDOWS(XP)上建立SSH伺服器;使用產生的“公開金鑰-私密金鑰”對作為身份標識;在伺服器上配置SHELL指令碼環境;配置用戶端,載入私密金鑰。詳細過程如下:

  安裝前準備:

  1. DownloadcopSSH
    [SourceForge Link]
    (註:SSH伺服器軟體)
  2. Downloadmsysgit
    (註:WINDOWS下的git安裝包)
  3. DownloadTortiseGIT
    (註:WINDOWS下的git圖形化軟體,與TortiseSVN是同門)
  4. DownloadPuTTY
    Installer (註:產生公開金鑰-私密金鑰對的軟體,並可用於SSH用戶端的登陸)

  Step1 -安裝copSSH

1.將copSSH(basic edition 2.0.0)安裝到路徑 c:\SSH

2.安裝過程中寫下SvcCOPSSH的密碼,你可能永遠不會用到,但寫下也無傷大雅。

3.啟動copSSH,選擇 開始->所有程式->copSSH->control panel;然後啟用一個使用者(假定為Administrator,選擇Users->Add,下一步,選擇一個使用者,不要勾選Allow
password authenticatin選項,點擊forward,OK。

4.其他關於public keys的事情無需操作,後面還會講到。

  Step2-配置copSSH

1.選擇路徑-C:\SSH\etc ,在記事本中開啟ssh_configsshd_config.(注意:兩個檔案有一個字母“d”的區別)

2.ssh_config -刪除Port前的#號,設定連接埠號碼,這裡採用預設連接埠22

3.sshd_config保證連接埠號碼一致

4.確定系統防火牆中該連接埠未關閉。(這一點很重要)

5.重啟系統

  Step3-安裝Putty

1.重啟之後,繼續回來,現在可以安裝Putty Installer了。

2.導航至你的安裝路徑,通常為c:\program files\Putty

3.開啟PuttyGen.exe

4.選擇產生密鑰的長度4096

5.在空白面板處不停地晃動滑鼠(用於產生隨機種子),直到產生結束。(不要關閉PuttyGen)

6.來到路徑c:\SSH\Home\Administrator\.ssh\ (這個路徑在你使用copSSH啟用使用者時會產生,根據你啟用的使用者名稱,選擇相應的路徑),建立檔案authorized_keys
(注意沒有尾碼名)

7.開啟PuttyGen,複製Public Key(公開金鑰)到檔案authorized_keys ,並儲存

8.在PuttyGen中,將Private Key(私密金鑰)儲存為private_key.ppk,儲存在同一目錄下。-比如,我的儲存目錄為c:\SSH\Home\Administrator\.ssh\private_key.ppk
9.現在目錄下應該有兩個檔案了,authorized_keys  和 private_key.ppk

10.為了測試連接,運行putty.exe

11.在開啟的介面中輸入IP 位址(本機可以為localhost)和連接埠號碼

12.開啟左側的菜單,選擇Connection-SSH-Auth,選擇你的私密金鑰檔案,c:\SSH\Home\<user>\.ssh\private_key.ppk
13.點擊Open,就會開啟終端,讓你輸入Login Name,輸入Administrator(注意大小寫)

14.你會看到顯示接受你的公開金鑰(Accept Public Key),用戶端登陸成功,登陸資訊也會緩衝起來。

  Step 4-安裝 msysgit和TortiseGIT

1.安裝msysgit的過程中一路下一步即可,假定你的路徑為C:\msysgit

2.安裝TortiseGIT,完成之後

 1)在任意路徑點右鍵,選擇TortiseGIT-Settings,設定git.exe的路徑為c:\msysgit\msysgit\bin,即為msysgit的安裝路徑

 2)在左側菜單中選擇Network,選擇SSH Client為putty中的plink.exe(如我的路徑為C:\Program Files\PuTTY\plink.exe)

3.將幾個GIT運行中需要的檔案複製到SSH伺服器目錄,當用戶端遠程登陸上來以後需要執行這些檔案,檔案源路徑為c:\msysgit\msysgit\Git\libexec\git-core ,要複製的檔案包括git.exe, git-receive-pack.exe,
git-upload-archive.exe
and git-upload-pack.exe,將以上檔案複製到C:\SSH\Bin

  Step5-配置使用者環境

1.對於copSSH來說,其預設的$HOME環境為c:\Documents and Settings\<user>,GIT也將會在該目錄下尋找authorized_keys 檔案。當然,這是咱要避免的事兒,我們要將GIT的路徑重新導向到C:\SSH\Home\<user>\.ssh

2.選擇路徑C:\SSH\Home\Administrator\,開啟.bashrc檔案,在# User dependent .bashrc file下面加上這樣一段:export
HOME=/c/SSH/home/Administrator Shell Options
,(注意不要有其他空格出現),然後選擇儲存。

3.把該檔案複製到使用者目錄下,如: c:\Documents and Settings\Administrator\

  Step7-使用GIT和Plink

1.開啟路徑C:\SSH\home\Administrator,建立檔案夾myapp.git

2. 在該檔案夾上點右鍵,選擇git create repository here,勾選make it bare,伺服器檔案倉庫建立成功。

3.導航至路徑c:\Program Files\PuTTY ,開啟pageant.exe,選擇add key,將你的私密金鑰(private_key.ppk)載入上。

4.然後右鍵選擇 git clone,url設為ssh://administrator@127.0.0.1:22/SSH/Home/administrator/myapp.git ,如果clone成功,恭喜你,大功告成!

關於git的操作詳見git的使用說明,這裡推薦Pro Git 簡體中文版,翻譯的很不錯。

  註:在執行git clone時可能會報錯(該錯誤在所參考的E文中未提及,把俺害得不輕),如果是關於某個dll檔案的錯(具體是哪個檔案記不清了,遇到的朋友可以根據檔案名稱,在msysigt目錄下搜尋即可找到),可以將該檔案同樣複製到C:\SSH\Bin下,然後就可以正常運行了。

 

分類:
版本控制綠色通道:好文要頂關注我收藏該文與我聯絡Yinner
關注 - 1
粉絲 - 0+加關注00(請您對文章做出評價)«博主前一篇:如何使用github

posted on 2011-05-01 23:11
Yinner 閱讀(3274)
評論(9)
編輯 收藏

評論

2216068

#1樓 回複 引用 查看   

呵呵,想不到居然我前幾天試的東西今天就在園子看見你發了

首先贊一下 copSSH
WIN7 下用OPENSSH FOR WIN 的,不行(管理員權限執行和相容模式都試了,服務可以啟動,但還是連不上)

那篇文裡提到了GIT 倉庫必須要在copSSH HOME目錄裡,而不以用LINK,是錯誤的,可以用LINK,WIN XP 裝個東東也可以搞定

git-receive-pack 之類,只要放SERVER端 MSYSGIT\CMD 目錄
而且只要 echo xxx> git-receive-pack 這樣就行

產生KEY 的PUTTY也不用裝,TORTOISEGIT(svn)本來就帶了

GIT CLONE 不會報錯,也不要COPY檔案

GIT CLONE 時的URL 值問題 還有待研究
git clone ssh://username@xx
git clone username@xx
我試了是加了 ssh:// 會報錯

ECLIPSE JGIT(目前版本)裡 協議選SSH也是報錯 ,選了後還清不了
SSH的話直接不選協議才行

你 QQ多少 一起討論下吧

2011-05-02 00:57 |
ddatsh      #2樓 回複 引用 查看   

另外
git-receive-pack 那幾個也是只要用LINK就可以搞定,COPY都不用的

2011-05-02 01:00 |
ddatsh      #3樓[樓主] 回複 引用 查看   

我主要是對UNIX的相關操作不熟,所以就一路參考著,按著自己的理解搞下來的,E文裡的應該是方式的一種,並非標準答案,但確實一種可行的方案。

2011-05-02 22:03 |
Yinner      #4樓 回複 引用 查看   

達到目的就行了
:)

2011-05-04 09:27 |
ddatsh      #5樓 回複 引用 查看   

您好,首先非常感謝您的資料,我想請教一個問題,您的方法我嘗試了很多次,但是每次第三步都會出現問題。我測試連接,運行putty.exe,就會出現一個對話方塊,顯示Network error:Connection refused。我查了很多相關的資料但是還是沒效果,想請教您下,怎麼解決謝謝!

2011-05-30 10:53 |
silverlightCode      #6樓[樓主] 回複 引用 查看   

@silverlightCode
具體系統內容的不同,遇到的問題就大不一樣,非常抱歉,沒辦法給你具體的建議,建議參考一下我給出的E文連結!上面寫的比我的詳細,看看能否解決你的問題。

2011-05-30 12:27 |
Yinner      #7樓 回複 引用 查看   

您好,我按照您部落格中的步驟,安裝了copssh和putty,啟用了帳號svccopssh,測試連接時,
login as:SvcCOPSSH
Server refused our key
SvcCOPSSH@localhost's password:
Access denied
SvcCOPSSH@localhost's password:
能告訴我一下,是什麼原因嗎?
我也試著啟用了Administrator,結果是一樣的。
謝謝。

2011-06-02 12:00 |
codeSilverlight      #8樓[樓主] 回複 引用 查看   

@codeSilverlight
注意兩點:1、防火牆是否關閉;2、用putty登入時的登入名稱是否注意了大小寫

2011-06-04 07:30 |
Yinner      #9樓 回複 引用 查看   

LZ你好。你有沒有進行過windows 2008下的測試?
我現在每次login, 都會出現許可權問題:
Permission denied, please try again.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.