2015-02-09 327 views
1

當我嘗試通過ssh登錄到EC2實例中,我得到了下面的錯誤權限被拒絕(公鑰)AWS EC2權限被拒絕

我檢查了主機名和用戶名,一切都很好。錯誤地我給了chmod -R 777。當我上次登錄時,在ec2實例根目錄下,之後我無法連接到實例。我需要一些來自ec2-instance的文件。有什麼辦法可以登錄ec2嗎?我也嘗試過新的實例。它的工作。

有什麼可能嗎?

回答

0

我面臨類似的問題。 你將無法重新覆蓋舊的實例,只需創建新的實例並設置權限 chmod 777(不使用-R)選項,那麼你的問題將得到解決。

2

我自己沒有嘗試過,但我不明白爲什麼它不起作用。

嘗試快照您的實例(從ec2控制檯創建圖像按鈕)。完成後,在Ec2控制檯中找到您的快照。它應該由具有模式「vol-xxxxxxxx」的ID的EBS卷支持。

啓動一個新實例並將「vol-xxxxxxxx」作爲輔助存儲。 SSH到新實例並將設備「vol-xxxxxxxx」掛載到(例如/ dev/xvdf)temp目錄並找到您要查找的文件。

+0

這是一個類似的問題/解決方案:http://alestic.com/2011/12/ec2-public-ssh-key – tedder42 2015-02-09 18:33:42

0

其中一個原因可能是您的密鑰文件不能公開查看以便SSH工作。使用如果需要此命令:

  • 搭配chmod 400 mykey.pem

還要記住正確的用戶ID爲EC2(EC2用戶)實例和命令:

  • SSH -l ec2-user -i .ssh/yourkey.pem public-ec2-host
0

使用Winscp還原權限更改。

最近我不小心把使用putty的「/ home/ec2-user」目錄權限改爲777。我立即退出。我也使用「Winscp」登錄到服務器,並且在查看權限後沒有斷開連接。

解決方法是使用Winscp將「/ home/ec2-user」上的權限更改回700,並且我能夠重新登錄。它對我有用。 Winscp爲我節省了很多麻煩。

0
  1. 分離根卷並附加到另一個實例。
  2. 登錄到EC2實例
  3. 的mkdir tempfolder
  4. 須藤設置/ dev/svdf1(通常的/ dev/svdf1,你可以列出你量,以確保)
  5. CD tempfolder /家
  6. CHMOD 700 -R ec2-user
  7. sudo umount tempfolder
  8. 分離卷並將其附加到舊實例,請記住它是根實例,以便將其附加到名稱「/ dev/xvda」。