2014-02-26 52 views
2

我一直在使用ec2實例幾個星期沒有問題。從今天開始,這個例子不再允許我用我的私人登錄。我得到突然出現錯誤SSH到EC2實例

服務器拒絕了我們的關鍵

斷開:不支持可用的驗證方法(服務器 發送:公鑰)

我想不通爲什麼會開始發生了今天的無處。我嘗試重新啓動實例,但沒有運氣,因此我對該實例進行了映像並使用新的密鑰對從映像啓動了一個新實例。使用新的私鑰登錄到新實例時,出現同樣的錯誤。

我使用一個基本的安全組是開放

22(SSH)0.0.0.0/0

80(HTTP)0.0.0.0/0

443(HTTPS )0.0.0.0/0

8080(HTTP *)0.0.0.0/0

人碰到ŧ他之前還是有任何想法我做錯了什麼?

感謝, 香薰

+0

你是如何從SSH客戶端指定私鑰的?您是使用SSH代理還是明確傳遞私鑰? –

+0

是否確定用於SSH的用戶名?例如對於ubuntu實例來說'ubuntu'和RHEL實例的'ec2-user'。 – slayedbylucifer

+0

什麼是您正在嘗試使用的ssh命令 – Bijendra

回答

2

有點搞亂後圍繞我想通了這個問題。如果有人遇到類似的問題......運行一個自定義腳本我不小心把EC2用戶主目錄上的權限搞砸了,這個目錄把ec2用戶鎖定在服務器之外。

要修復它,我從實例中分離出根卷(使用CLI ec2-detach-volume)並將它連接到另一個臨時實例(使用CLI ec2-attach-volume),將它掛載到臨時文件夾中,將ec2-user目錄的權限更改爲og-rwx。

然後,我將temp從temp實例中分離出來,並將其作爲root重新附加到原始實例,並能夠使用我的原始密鑰再次ssh。