2010-02-02 30 views
5

在Amazon EC2上是否可以將密鑰對重新分配給已經運行的實例?在Amazon EC2上是否可以將密鑰對重新分配給已經運行的實例?

我有一個特定的密鑰對問題,我想知道是否有辦法通過重新分配它來解決它。

感謝

+0

https://forums.aws.amazon.com/thread.jspa?threadID=52593 – YumYumYum 2012-07-11 18:06:46

+0

[Change change key for ec2 instance](http:// stackoverflow。com/questions/7881469/change-key-pair-for-ec2-instance) – user456584 2013-07-25 17:46:24

回答

10

,我們已經能夠從使用新的密鑰對AMI拿出是create an AMI from the running instance並啓動一個新實例的最佳解決方案。

我們推出的每個實例都基於我們爲此和其他許多原因而維護的定製AMI。

我很想聽聽有沒有人有更好的方法。

+0

如何爲實例刻錄AMI?這是否也捕獲所有數據? – 2010-02-02 04:16:48

+1

有關如何創建自己的AMI,請參閱http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?PreparingAndCreatingAMIs.html。 – 2010-02-02 16:18:22

+0

這就是我們所做的......唯一困難的部分是我們的亞馬遜服務器需要與我們的數據中心中的物理服務器進行通信,因此防火牆需要主機名和mac地址才能允許它進入,這有點棘手。 ..每次啓動都會改變,即使您可以通過API獲取相關信息,但我從來沒有找到過使用這些說明以編程方式訪問數據中心防火牆的方法。我最終使用API​​來處理所有事情,然後使用PowerShell腳本來重命名和重啓計算機,使其與我們的防火牆配額相匹配。 – 2011-06-07 20:02:41

1

大概...只是猜測基於我在少數情況下所做的:

  1. 登錄到使用ssh實例。如果是這樣的問題,你幾乎卡住
  2. SFTP從一對新的公共密鑰,並把它發生在你的.ssh授權密鑰
  3. 重新引導sshd

現在,嘗試與訪問私人密鑰與您放置的公共密鑰匹配。

但是我擔心,當AWS配對出現問題時,您所遇到的問題會越來越嚴重。沒有幫助。

1

如果您使用的是Linux服務器,您可以分離磁盤並將它們掛載到另一個實例上,以找出問題所在。

首先關閉問題服務器。記下設備名稱(可能是/ dev/sda1)並分離磁盤。

然後使用新密鑰對創建一個新實例(讓它稱爲救援實例),並將您分離的磁盤作爲附加磁盤(不要替換救援實例的磁盤)。

然後用ssh登錄到救援實例並掛載磁盤。在新裝入的磁盤主文件夾中的主用戶帳戶中,有一個名爲.ssh的文件夾,其中帶有文件authorized_keys(例如/mnt/home/ubuntu/.ssh/authorized_keys)。

authorized_keys文件可以在其自己的行上包含多個公鑰。檢查.ssh文件夾和父文件夾的權限,兩者都應該只允許爲所有者寫入。對於我認爲的團體和世界來說,閱讀許可是必需的.ssh中的任何私鑰都應具有權限600(僅限用戶讀寫)。

這包含來自原始密鑰對的公鑰。用新的公鑰替換它(或者用新公鑰添加一個新行),然後關閉救援實例,分離磁盤並使用原始設備名稱(可能是/ dev/sda1)將其附加到問題實例。

啓動,您應該可以使用新密鑰對中的私鑰進行登錄。

相關問題