2012-01-09 44 views
13

我有一臺安裝了gitolite的web服務器,並使用我的ssh密鑰登錄。通常我只是使用命令行在服務器本身上使用git,但對於一個新項目,我需要在我的Windows PC上克隆一個回購,並且我想使用SmartGit進行此操作。SmartGit不會使用ssh進行身份驗證

但我已經花了好幾個小時的時間來克隆通過Smartgit的回購。作爲遠程Git我使用我通常會在服務器上使用的URL:我@我的服務器:回購然後一段時間後,我得到一個對話框'SSH身份驗證',我選擇我的私鑰,因爲我會爲pagent並放入我的密碼。但是當我點擊登錄時,它只是嘗試連接一段時間,然後再次向我顯示「SSH身份驗證」對話框。沒有錯誤信息或任何東西。

我試圖通過命令行使用相同的數據克隆回購,並且工作得很好。那麼有什麼我失蹤?

回答

19

需要將我的ssh私鑰作爲OpenSSH密鑰保存在PuTTYgen中,因爲SmartGit只能理解該格式。

+1

在哪裏保存呢? – zygimantus 2016-06-29 10:24:40

+1

這很奇怪,但如果您單擊PuTTYgen *「保存私鑰」*或*「保存公鑰」*,它將不起作用。您需要通過菜單保存*轉換→導出OpenSSH密鑰*。這個文件將會參與 – Adobe 2017-05-11 08:53:26

13

是的,就是這樣!

我只是想去細節,以幫助從頭開始的:在Windows

你可以做foollowing程序:

  1. Here
  2. 安裝msysgit要生成公鑰/私鑰許多git服務器需要密鑰對(如Assembla)使用PuTTYgen 找到here: 點擊生成移動鼠標,直到它告訴您密鑰已生成。或者,輸入一個密碼來保護您的私鑰
  3. 保存或複製公鑰在你需要
  4. 保存私鑰使用菜單語音轉換與SmartGit使用/導出OpenSSH密鑰
  5. 使用的最後一個文件在SmartGit中進行身份驗證
4

我發現更容易更改SmartGit |偏好|命令|可執行文件使用「C:\ Program Files(x86)\ Git \ bin \ git.exe」,然後在系統環境中設置GIT_SSH = plink。

1

如果你想使用膩子作爲SSH客戶端,請遵循以下步驟:

  1. 編輯|偏好|評論|驗證,選擇Use System SSH Client
  2. 在windows系統變量,設置GIT_SSH =砰砰(其中 膩子的plink.exe位置)

之後,請使用選美並加載私鑰

1

如果您在MacOS X上使用SmartGit,則此問題會導致在Finder中顯示一個意外的對話框:"SSH - Enter passphrase for key '/Users/username/.ssh/id_rsa':",並在SmartGit啓動時彈出。它看起來像這樣:

SmartGit SSH passphrase prompt

很奇怪和困惑看起來像一個搜索對話框,與所有SmartGit沒有提及。這通常是由於SSH密鑰密碼未存儲在Keychain Access應用程序中造成的。這就是SmartGit會尋找它的地方。你需要將其添加在那裏,使用這些指南: