簡體   English   中英

AWS Session Manager 無法連接,除非打開 SSH 端口

[英]AWS Session Manager can't connect unless opening SSH port

我正在嘗試使用 AWS Systems Manager Session Manager 連接到我的 EC2 實例。

這些是私有 EC2 實例,沒有公共 IP,位於 VPC 中的私有 su.net 上,可通過 NAT 網關訪問 Inte.net。

網絡 ACL 已完全打開(入站和出站),但沒有允許 SSH 訪問實例的安全組。

我完成了所有 Session Manager 先決條件(SSM 代理,Amazon Linux 2 AMI),但是,當我嘗試通過 AWS 控制台連接到一個實例時,我收到一個紅色警告標志,上面寫着:“我們無法連接到您的例如。常見的原因包括“。

然后,如果我為允許 SSH 訪問(入站端口 22)的實例添加一個安全組並等待幾秒鍾,重復相同的連接過程並且沒有出現紅色警告,我可以連接到實例。

盡管我知道這些實例是安全的(它們沒有公共 IP 並且位於私有 su.net 中),但向它們打開 SSH 端口並不是我期望 Session 管理器的要求。 事實上,官方文檔說它的好處之一是:“沒有開放的入站端口,也不需要管理堡壘主機或 SSH 密鑰”。

我搜索了相關帖子,但找不到任何具體內容。 任何想法我可能會錯過什么?

謝謝!

請確保您使用Session 管理器控制台,而不是 EC2 控制台來建立 session。

根據我自己的經驗,我知道有時使用“連接”的 EC2 控制台選項最初不起作用。

但是,如果您將 go 轉到AWS Systems Manager控制台,然后轉到Session Manager ,您將能夠Start session到您的實例。 這假設您的 SSM 代理、角色和 Internet 連接配置正確。 如果是,您應該能夠看到要為其啟動 ssh session 的 SSM 托管實例。

安全組也應該允許出站連接。 如果您正確設置所有內容,則不需要入站 ssh。

感謝您的答復。 我嘗試使用 Session 管理器控制台而不是 EC2 控制台進行連接,但沒有成功。 實際上,我僅在第一次嘗試在未打開 SSH 端口的情況下進行連接時收到紅色警告。 然后我分配一個具有入站訪問端口 22 的安全組並且可以連接。 現在,當我刪除安全組並嘗試再次連接時,我在控制台中沒有收到紅色警告,而是一個空白屏幕,沒有任何反應,我無法進入。

話雖如此,我發現我的 EC2 實例沒有在安全組中打開任何出站端口。 我為output打開了整個TCP端口范圍,沒有打開SSH入站並且可以連接。 然后我稍微限制了出站端口范圍:嘗試只打開臨時范圍(保留端口被阻塞),這個問題又出現了。

我的結論是必須為出站打開所有 TCP 端口范圍。 這比打開 SSH 端口 22 進行入站要好,但有一點我還是不完全明白。 為了與實例建立連接和通信,需要出站端口是合理的,為什么要購買保留端口? SSH 服務器端是否使用預留端口進行反向連接?

我被這個類似的問題困住了。 我的安全組和 NACLS 的入站和出站端口僅根據需要對精確的端口和 IP 開放,此外所有內部 IP 的臨時端口范圍為 1024~65535。

最后起作用的是,為所有互聯網 IP 開放 443 端口出站。 即使將 443 出站限制為內部 IP 范圍也不起作用。

盡管所有文檔都說了,您需要啟用 HTTPS入站,它會起作用。

The easiest way to do this would be to create the 3 VPC interface endpoints that SSM requires in your VPC and associated subnets (Service Names: com.amazonaws.[REGION].ssm , com.amazonaws.[REGION].ssmmessages and com.amazonaws.[REGION].ec2messages )。

然后,您可以僅為端口 443 添加入口和出口規則,以允許在 VPC 內進行通信。

這比向您的私有實例開放大片 Internet 更安全,而且速度更快,因為流量保留在 AWS 自己的網絡上,無需遍歷 NAT 或網關。

以下是 AWS 文檔的一些有用鏈接:

另一個讓我失望的項目:確保您的 VPC 端點的安全組對 443 上的所有入站連接和所有出站連接開放。

我最初將我的連接到我正在連接的 EC2 實例的安全組(例如 SG1),當我創建另一個安全組(例如 SG2)時,我無法連接。 上述原因是為什么......最初我設置我的 VPC 端點安全組來引用 SG1,而不是 443 上的所有入站連接。

我有類似的問題,幫助我的是在服務器上重新啟動 SSM 代理。 我使用 SSH 登錄,然后運行:

sudo systemctl restart amazon-ssm-agent

Session 管理器控制台立即顯示 EC2 實例可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM