0

我從我的ec2實例上的主目錄中複製了一些文件,並且以懶惰的方式運行命令sudo chmod 777/home/ec2-user/*。我想這使得我的.ssh文件夾,並可能authorized_keys也有777特權。那麼事實證明,如果authorized_keys設置爲777,則無法使用這些密鑰進入SSH框(因爲另一個用戶可能已經更新了它)。服務器拒絕我們的密鑰,將authorized_keys權限設置爲777

我的問題是,我該如何解決這個問題,並再次登錄到我的盒子?這是一個ec2實例,所以我必須ssh進入。

回答

3

要更改權限,您需要訪問實例內部的文件。

因爲你不能在實例ssh登錄你需要做以下事情:

  1. 預約停機您的應用程序,因爲你需要停止實例。
  2. 備份Instance Store(臨時卷)中的所有內容。
  3. 停止實例。
  4. 從有問題的EC2實例中分離卷。
  5. 將卷連接到另一個正在工作的EC2實例。
  6. chmod更改爲您的.ssh目錄及其文件。
  7. 分離音量。
  8. 附加到有問題的EC2實例。
  9. 啓動EC2實例。
  10. 嘗試連接到EC2實例。

請注意,如果您沒有爲實例配置彈性IP,IP地址將會更改。

有關將卷附加到EC2實例的更多信息,請參閱此AWS Documentation

+0

當我單擊卷選項卡來分離卷時,我的實例重新啓動。你知道爲什麼嗎? http://stackoverflow.com/questions/38290095/how-to-change-permission-of-a-file-on-the-amazon-remote-instance-when-ssh-doesn?noredirect=1#comment63998071_38290095 – KillBill

+0

因爲邏輯上,您正在從正在運行的計算機中刪除存儲設備。 –

+0

我的,但爲什麼我的實例繼續停止後重新啓動 – KillBill

1

要使宕機時間最短,請拍攝實例圖像(無需重啓模式),並使用此圖像和您之前指定的密鑰創建新機器。 AWS在創建新框的同時,將按鍵設置爲正確的權限。

請注意,私人和公共IP將會發生變化,如果您不想更改IP,則使用彈性IP,然後使用彈性IP。

+0

這不幸的是沒有爲我工作......同樣的問題仍然存在,它看起來像密鑰沒有被取代......作爲一個說明,我用同一個私鑰作爲我用於舊實例,所以我不知道是否會影響它。 – etk1220

相關問題