簡體   English   中英

hg clone ssh:// user @ url在Windows 7(cygwin)上失敗,但在OS X上有效

[英]hg clone ssh://user@url fails on windows 7 (cygwin), but works on OS X

我試圖對遠程服務器進行hghg pullhg push )。 在Windows上失敗,但在OS X上成功。我對Windows和OS X使用相同的ssh私鑰和公鑰。以下是詳細信息:

在Windows上,我使用cygwin,為此我還安裝了openssh。 私鑰和公鑰位於cygwin home/home/simo/.ssh )的.ssh文件夾中。 例如,當我在cygwin中執行hg clone ssh://simo@url時,會出現一個標題為TortoisePLink的彈出窗口,並要求我輸入密碼,我相信這意味着ssh密鑰的密碼短語。 我輸入了,它立即要求我一次又一次地輸入它(同一彈出窗口)。 當然,我仔細檢查了密碼。 如果我連續輸入5次密碼,它將停止並提示Too many authentication failures for simoabort: no suitable response from remote hg!

具有諷刺意味的是,如果我不使用Cygwin,而是使用命令提示符,那么我仍然會遇到相同的問題。 這可能是理解該問題的關鍵,因為我不確定命令提示符中使用的ssh是否與cygwin中使用的ssh相同,因此,無論哪種情況,ssh密鑰似乎都不重要。 首先,我只將.ssh的密鑰存儲在cygwin中,遇到了問題。 我嘗試了命令提示符(沒有將ssh密鑰復制到那里),我也遇到了問題,因此看起來在hg期間根本沒有使用ssh密鑰。 然后,我嘗試將密鑰復制到命令提示符的主目錄( C:\\Users\\simo\\.ssh ),我也遇到了同樣的問題。

我將ssh密鑰復制到了Mac OS X,將它們放入.ssh中,然后運行。 一切正常。 知道為什么我在Windows上使用hg ssh失敗了嗎? 可能是因為Cygwin嗎? 因為ssh鍵未使用/未找到? 為何為什么標題為TortoisePLInk的彈出窗口總是要求我輸入密碼?

在Windows上,您可以使用兩種不同的ssh密鑰格式:

  • 如果您使用Cygwin和openssh,則格式與Unix類似
  • 如果您使用PuTTY / Pageant(ssh代理),則格式是不同的

因此,您必須選擇要使用的那個。 請注意,您可以將Unix格式的密鑰“導入”到Pageant代理中,然后與Tortoise一起即可使用。

但您也可以在mercurial.ini配置為使用Cygwin ssh(例如,請參見以下答案: https : //stackoverflow.com/a/18973676/236726

希望能對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM