2012-09-25 36 views

回答

5

當您在運行AMI實例時指定密鑰對名稱時,Amazon EC2會向該實例提供公共ssh密鑰,以便它可以執行諸如將密鑰添加到$ HOME/.ssh/authorized_keys作爲默認用戶。默認用戶取決於AMI,可能是「ec2-user」或「ubuntu」甚至是「root」。

但是,它不是AMI的要求,它們使用ssh密鑰,它僅僅是一個方便的慣例,也是爲運行AMI的人提供安全訪問實例的少數方法之一。

如果你不提供SSH密鑰對的名稱(即指定「無」),那麼你就需要找出一種不同的方法,使實例可用。對於Amazon Linux和Ubuntu AMI,您可以使用CloudInit系統並傳入用戶數據腳本,該腳本通過ssh設置訪問權限,或者安裝即使您不希望ssh訪問也要在該實例上運行的軟件。

即使你不希望需要一個實例ssh訪問,它往往是方便有對跟蹤時,系統或軟件上運行它有問題的問題。

因此,「無」就是可能有點實際在少數情況下使用的有效選項,但一般建議您提供一個值,如果只是以備急用。

+4

只需添加到這一點,如果是AMI自己建造你可以添加自己的鑰匙和密碼。由於它們內置於機器中,所以不再需要amazons密鑰對。 – bwight

1

我們使用的情況下無選項,其中我們的AMI是如此穩固,我們不想讓機器通過任何其他平均訪問不是通過安裝在其上的軟件。作爲一個例子,我們使用一個服務總線軟件來處理隊列,這個特定的AMI將啓動並開始監聽隊列來處理消息,但它絕對沒有其他任何東西。在這種情況下,由於機器本身沒有託管數據(甚至不包括隊列數據),所以我們不需要訪問它。

但是,如果你走這條路線,準備好成爲造就「扔掉」的機器定期只是爲了鞏固AMI的專家。我想說,在黑盒類型的情況下,沒有任何幫助。

希望這有助於

+0

這是可怕的建議。你永遠不應該有一臺你無法登錄的機器。 – bwight

+2

從來不是一個強大的詞,我不同意。有時(保持開放的態度),當這是完全合理的。 –

+4

在EC2環境中,只要知道自己在做什麼,就可以擁有沒有登錄的服務器。在EC2上配置和運行自己的服務器是非常可能的,而不是基於硬件的舊系統管理員可能理解的東西。如果私人ssh密鑰不那麼私密(例如員工離開公司),則不允許ssh關閉潛在的安全風險。通過將它們移動到可以登錄的服務器,您可以隨時獲得EBS卷。不使用ssh密鑰會限制您僅接觸擁有AWS憑據的人。 –

相關問題