2012-04-23 124 views
29

我是一個新手,亞馬遜網絡服務,試圖推出Amazon實例和ssh它使用膩子從窗戶。這些是我遵循的步驟,SSH到Amazon EC2實例在Windows中使用膩子

  1. 創建密鑰對。

  2. 創建安全組與SSH和HTTP規則。

  3. 推出,並且使用上述密鑰對和安全組EC2的實例。

  4. 使用PuTTYgen轉換的* .PEM文件爲* .ppk

  5. 使用膩子試圖連接到該實例的公共DNS和提供的* .ppk文件。

我登錄使用「根」和「EC2用戶」,並創建了使用SSH1及SSH2的PPK文件,所有這些嘗試,我得到膩子以下錯誤,

「服務器拒絕我們的鑰匙「

你們可以請幫忙,任何建議將不勝感激。

+1

是AMI您使用哪種操作系統? – Geoff 2012-04-23 20:06:48

+0

@Geoff:謝謝!我使用的是amzn-ami-2011.09.1.x86_64-ebs(ami-7341831a),其中提到了Amazon Linux平臺。 – konkani 2012-04-23 20:14:57

+2

如果您使用亞馬遜Linux,那麼您應該使用'ec2-user'來登錄--' root'將無法工作。但你也已經嘗試過'ec2-user'。你確定這個實例被配置爲使用這個密鑰對嗎?並且您正在爲您的實例連接到正確的彈性IP地址或AWS公共DNS? – Daan 2012-04-23 21:52:54

回答

0

我假設你以下this guide的,並且使用了subsequent page的指示連接。驗證一些事情:

  1. 您正確地轉換了密鑰,例如,選擇了正確的.pem文件,保存爲私人鍵,1024位SSH-2 RSA
  2. 的身份驗證設置(在連接教程步驟4)正確
1

也許值得一試一件事的。轉到AWS控制檯,右鍵單擊實例並選擇「連接...」。它會顯示你想使用的DNS名稱。如果您在某個時候重新啓動了該實例,則該DNS名稱可能已更改。

10

1)請確保您有端口22(SSH)的EC2實例的安全組打開。

2)嘗試連接Elastic IP而不是公共DNS名稱。

我希望你能遵循這些步驟Connecting EC2 from a Windows Machine Using PuTTY

+0

連接彈性IP地址在我的情況下工作。創建並關聯IP地址後,我失去了訪問權限。謝謝! – linuxeasy 2014-04-19 16:27:21

+0

他說問題是身份驗證,而不是DNS解析或防火牆。 – 2014-07-03 01:37:15

0

嘗試另一種SSH客戶端,像Poderosa。它接受pem文件,所以你不需要轉換密鑰文件。

+0

我試過了,我得到「錯誤的密鑰格式」 – cawecoy 2013-06-27 20:39:52

+0

Poderosa需要原始的PEM文件,但通過的puttygen – Barak 2013-06-28 09:45:11

+0

Poderosa創建的轉換需要一個原始的PEM文件,而不是轉換一個通過的puttygen – Barak 2013-06-30 09:44:16

32

我假設OP計算出了這個結果,或者以其他方式移動,但答案是使用ubuntu作爲用戶(如果服務器是Ubuntu的話)。

+0

生成,這是真棒。沒有涵蓋我找到的任何明顯的位置。 – Rig 2013-10-26 22:38:52

+0

輝煌:-)兩年後,亞馬遜文檔仍未更新,並且表示用戶對所有亞馬遜Linux AMI都是「ec2-user」。即使OP繼續前進,我也會合理地接受這個答案。 – Jason 2014-04-29 12:46:16

+0

對於Ubuntu以上是答案謝謝。 – Nirus 2014-05-26 19:48:33

0

我有這個相同的問題。您正在使用的AMI也是「Cloud Formation」模板解決方案所使用的AMI。

最後我放棄了這一點,並創建了一個紅帽實例。然後我可以使用用戶root通過SSH進行連接。

此處的說明:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html使用Red Hat實例正常工作,但未使用Amazon Linux實例。我假設他們有一些我不認爲會嘗試的用戶名(root,ec2-user和其他很明顯的用戶,全部被拒絕)

希望能幫助別人!

+0

更新:我自此創建了一個「雲形成」設置,並且SSH已經很好。這次我使用了允許您指定密鑰對的模板。許多庫存模板不允許這樣做,因爲您似乎無法在創建後添加密鑰對,這意味着您永遠無法使用SSH。 – Coder 2013-04-12 11:43:59

1

當我嘗試連接由Elastic Beanstalk服務(EBS)自動創建的實例時,我遇到了類似的問題。但是,一旦我將現有密鑰名稱鏈接到EBS(在環境詳細信息 - >編輯配置 - >服務器選項卡 - >現有密鑰對下),我就可以使用'ec2-user'和我現有的密鑰文件進行登錄(轉換爲.ppk)用膩子。

但是,這會終止正在運行的實例,並通過上面指定的密鑰對通過訪問來重建新實例。

0

我使用Debain AMI,我嘗試了ec2-user,root,但是正確的登錄名是'admin'。

0

當我嘗試創建新的密鑰對並試圖使用新的pem/ppk文件時,我遇到了同樣的錯誤。我注意到該實例上的密鑰對名稱字段仍然是舊的,並且正在撬動。顯然,你can't change密鑰對。所以我回到原來的密鑰對。幸運的是,我沒有刪除任何東西,所以這很容易。

1

爲了防止別人幫助,在更改我的實例中主文件夾的權限後,我遇到了此錯誤。我正在測試一些東西,並在我的主文件夾上執行了chmod -R 777。一旦發生這種情況,一旦我註銷,我就被鎖定了。

+0

什麼解決了錯誤? – Rayon 2016-07-18 07:20:14

1

檢查用戶名,它應該是你的機器的「ubuntu」。 檢查安全組的端口22上是否啓用流量。 檢查您是否使用了正確的URL,即Ubuntu的@公共/ elasticip

+1

不錯,你也完成了我的查詢 – 2015-05-03 17:20:42

+0

謝謝,你的回答對我有用 – 2018-01-16 09:46:52

4

另一種情況下,我得到了當使用膩子,從窗戶,ssh到一個EC2實例上運行Ubuntu的「服務器拒絕了我們的關鍵」的錯誤:

私鑰被錯誤地從.pem轉換爲.ppk。

的puttygen具有 「轉換鍵」 兩個選項。

  1. 加載您的.pem文件到使用文件 - >裝入專用密鑰選項,然後使用保存私鑰按鈕保存爲.ppk文件的puttygen。
  2. 不要使用菜單選項Conversions->導入密鑰加載通過EC2生成的.pem文件。

    見的puttygen截圖下方,標誌着兩個菜單選項。

Correct menu option with puttygenWring menu option with puttygen