2013-05-30 27 views
2

我有一個私鑰文件名爲awskey.ppk和主機的IP地址連接到AWS EC2實例(我們稱之爲123.45.678.910使用私鑰和主機IP

我試圖用連接到EC2實例在命令行命令 -

ssh -i /Users/ashishagarwal/EC2/awskey.ppk [email protected]

這是給我的錯誤:

權限爲0644 '/Users/ashishagarwal/EC2/awskey.ppk' 過於開放。需要您的私鑰文件不能被他人訪問。 該私鑰將被忽略。 錯誤的權限:忽略密鑰:/Users/ashishagarwal/EC2/awskey.ppk 權限被拒絕(publickey)。

我該如何解決這個問題?

回答

5

兩件事。

  1. chmod將修復您的權限。該文件需要更改爲600或400.
  2. ppk格式被putty使用,需要將密鑰轉換爲pem編碼格式。你可以使用putty keygen工具。
+0

如何使用mac將ppk轉換爲openssh? –

+0

我不知道一種方法。我所知道的唯一工具是putty keygen(puttygen)工具。您可以打開密鑰文件並以openssh密鑰格式導出。 – datasage

+0

我終於在我的mac上安裝了膩子,並使用命令 - puttygen awskey.ppk -O private-openssh -o awskey.pem將ppk文件轉換爲pem文件。這只是給了我錯誤 - Permission denied(publickey) 。 –

3

我假設你使用Mac或Unix(基於命令行)。

運行以下命令:

chmod 400 /Users/ashishagarwal/EC2/awskey.ppk 

然後再次運行你的SSH命令,它應該工作。

+1

嗯,它的工作。它要求我提供SSH密鑰awskey.ppk的密碼。我是否讓IT人員將此信息發送給我或者是否可以在沒有密碼的情況下進行連接? –

+0

你必須問誰爲你生成PPK文件 - 他/她應該有密碼。 – Suman

4

私鑰文件應該有文件的權限爲400,這可能會使用

chmod 400 file_path

確保您使用的是正確的用戶名像ec2-userubuntu改變。如果您使用的是基於Unix的系統,則使用.ppk鍵。