2012-03-09 64 views
28

我在git中工作。 在Windows中,我使用git擴展來管理這個項目,並訪問他們給我一個.ppk鍵的公共倉庫。我將它加載到git擴展中,使用他們給我的密碼,並且它可以工作。ssh密鑰短語在Windows中工作,但不在linux中

現在我設置一個linux(ubuntu-32bit)虛擬機,並且我也想從這臺機器訪問存儲庫。

,從我在這個網站,我使用,克隆庫,下面的命令已經看到了另一個線程:

ssh-agent bash -c 'ssh-add /home/myHome/mykey.ppk; git clone [email protected]:project.git' 

然後,殼告訴我要插入密碼

Enter passphrase for /home/myHome/mykey.ppk: 

但是當我插入它時,它告訴我這是一個不好的密碼。我已經檢查了很多次,並且我確定我使用的是我在Windows中使用的相同密碼。那麼我怎樣才能在Linux中正確使用密鑰?

在此先感謝您的答覆。

+0

您用於克隆存儲庫的命令看起來有點奇怪。這是你的問題的標記錯誤?如果沒有,你應該先熟悉Linux命令行。 – lunaryorn 2012-03-09 09:07:11

+1

我已經在另一個線程中檢查過這個命令,並且它使用一個私有密鑰而不將它存儲到ssh配置中。 – Jepessen 2012-03-09 18:22:34

回答

55

Linux SSH客戶端(通常爲OpenSSH)無法讀取Windows SSH客戶端Putty使用的PPK格式。您需要先將提供給您的「PPK」密鑰轉換爲OpenSSH密鑰。安裝「膩子」在Linux和使用puttygen命令行工具:

$ sudo aptitude install putty 
$ mkdir -p ~/.ssh 
$ puttygen ~/mykey.ppk -o ~/.ssh/id_rsa -O private-openssh 

輸入你的密碼,你會得到在標準位置~/.ssh/id_rsa一個OpenSSH的兼容的關鍵。之後,您可以使用ssh-add(不帶任何參數!)將此密鑰添加到SSH代理。

或者,您可以使用由putty在Windows上提供的PUTTYgen程序。

+0

感謝它解決了我的問題! – Jepessen 2012-03-09 09:13:41

+0

感謝這爲我工作。 – 2012-08-06 12:25:48

+4

謝謝。良好的指導。我使用了窗戶PUTTYGen。我加載了密鑰文件並轉到「轉換>導出OpenSSH密鑰」,然後將其保存爲 .pem – 2013-11-06 21:53:17

相關問題