Linux

不允許 EC2 實例之間的 SSH

  • November 2, 2018

我在一個共享的 AWS 賬戶中設置了幾個 EC2 實例,並希望讓它們相互訪問。同時我想禁止賬戶中其他實例的訪問。

我創建了一個安全組並從“我的 IP”添加了 SSH 訪問以進行登錄,效果很好。

現在我需要在所有實例之間進行 SSH,但即使它們都在同一個安全組中,我也不能。

我怎樣才能做到這一點?

因此,您正在 AWS 上設置一些集群,並且需要在節點之間進行 SSH 訪問,對嗎?您有 2 個選項:

  1. 最簡單的方法是將每個實例 IP 添加到安全組入站列表中——但這意味著每次在集群中添加新實例時都需要更新 SG。(如果你曾經這樣做)。*不要這樣做,*我只是為了完整性而提到它。
  2. 更好的是使用安全組 ID本身作為流量來源

重要的是要了解 SG 不僅是入站過濾器,而且還標記所有出站流量 - 然後您可以在相同或其他安全組中引用原始 SG ID。

查看 VPC 中的預設安全組。您很可能會看到如下內容:

自引用安全組

請注意,該規則是指安全組 ID 本身

使用此規則,來自作為您的安全組成員的任何主機的所有內容都將被該組中的所有其他成員/實例接受。

在您的情況下,您可能希望將其限制為 SSH、ICMP(如果您需要ping工作)或您需要的任何其他埠。

還要檢查Outbound選項卡並確保它有一個All tr​​affic to條目0.0.0.0/0(除非您有特定的安全需求),否則實例將無法啟動任何出站連接。預設情況下它應該在那裡。

希望有幫助:)

引用自:https://serverfault.com/questions/938301