2015-12-16 130 views
0

我試圖對遠程服務器(hg pullhg push)執行hg。在Windows上失敗,但在OS X中成功。我使用了與Windows和OS X相同的ssh私鑰和公鑰。以下是詳細信息:hg clone ssh:// user @ url在Windows 7(cygwin)上失敗,但在OS X上工作

在Windows上,我使用了cygwin,爲此我還安裝了openssh。私鑰和公鑰位於cygwin主頁/home/simo/.ssh)的.ssh文件夾內。當我在cygwin中輸入hg clone ssh://[email protected]時,出現一個標題爲的彈出窗口,並出現TortoisePLink,並要求輸入Password,我相信這表示SSH密鑰的密碼。我進入了,它立刻要求我一次又一次地輸入它(同一個彈出窗口)。當然,我仔細檢查了密碼。如果我繼續輸入密碼5次,則停止並說Too many authentication failures for simoabort: no suitable response from remote hg!。具有諷刺意味的是,如果我不使用Cygwin,但使用命令提示符,我仍遇到同樣的問題。這可能是理解這個問題的關鍵,因爲我不確定命令提示符中使用的ssh是否與cygwin中使用的ssh相同,因此在任何情況下ssh密鑰似乎都不重要。首先,我只在cygwin中存儲了.ssh的密鑰,但遇到了問題。我試過命令提示符(沒有將ssh密鑰複製到那裏),我也遇到了問題,所以看起來像在hg期間ssh密鑰沒有被使用。然後我嘗試將密鑰複製到命令提示符的主目錄(C:\Users\simo\.ssh),我也面臨同樣的問題。

我將ssh密鑰複製到我的Mac OS X中,將它們放在.ssh中,然後運行。一切正常。任何想法爲什麼我在Windows上與hg ssh失敗?問題是因爲如果Cygwin?由於ssh密鑰未使用/未找到?以及爲什麼與標題彈出窗口TortoisePLInk不斷要我輸入密碼?

回答

0

在Windows上,你可以有SSH密鑰兩種不同的格式:

  • ,如果你使用Cygwin和OpenSSH格式類似於Unix的一個
  • 如果使用膩子/佳麗(SSH代理)格式是不同的

所以你必須選擇你想使用哪一個。請注意,您可以將您的Unix格式的密鑰「導入」Pageant代理,然後使用Tortoise即可開箱即用。

但你也可以在mercurial.ini配置爲使用Cygwin的SSH(參見例如這樣的回答:https://stackoverflow.com/a/18973676/236726

希望能對大家有所幫助。

相關問題