Linux

如何通過 NAT 伺服器 SSH 到 VPC 私有子網中的 ec2 實例

  • November 19, 2021

我在 aws 中創建了一個具有公共子網和私有子網的 VPC。私有子網不能直接訪問外部網路。因此,公共子網中有一個 NAT 伺服器,它將所有出站流量從私有子網轉發到外部網路。

目前,我可以從公共子網 SSH 到私有子網,也可以 SSH 從 NAT 到私有子網。但是,我想要的是從任何機器(家用筆記型電腦、辦公機器和移動設備)到私有子網中的實例的 SSH。

我做了一些研究,我可以設置 NAT 框將 SSH 轉發到私有子網中的實例。但我沒有運氣。

任何人都可以列出我需要設置的內容以使其成為可能。

命名為:

筆記型電腦(VPC 之外的任何設備)

nat(公有子網中的 NAT 伺服器)

目的地(我要連接的私有子網中的伺服器)

不確定以下是否有限制:

“destination”沒有公網IP,只有子網ip,例如10.0.0.1 “destination”無法通過nat的public連接到“nat”。有幾個“目標”伺服器,我需要為每個設置一個嗎?

謝謝

您可以設置堡壘主機以連接到 VPC 中的任何實例:

http://blogs.aws.amazon.com/security/post/Tx3N8GFK85UN1G6/Securely-connect-to-Linux-instances-running-in-a-private-Amazon-VPC

您可以選擇啟動將用作堡壘主機的新實例,或使用現有的 NAT 實例作為堡壘。

如果您創建一個新實例,作為概述,您將:

1)為您的堡壘主機創建一個安全組,允許從您的筆記型電腦進行 SSH 訪問(請注意第 4 步的此安全組)

  1. 在您的 VPC 的公共子網中啟動一個單獨的實例(堡壘)

  2. 在啟動時或通過分配彈性 IP 為該堡壘主機提供公共 IP

  3. 更新沒有公共 IP 的每個實例的安全組,以允許從堡壘主機進行 SSH 訪問。這可以使用堡壘主機的安全組 ID (sg-#####) 來完成。

5)使用SSH代理轉發(ssh -A user@publicIPofBastion)首先連接到堡壘,然後一旦進入堡壘,SSH進入任何內部實例(ssh user@private-IP-of-Internal-Instance)。代理轉發負責轉發您的私鑰,因此不必將其儲存在堡壘實例上(切勿將私鑰儲存在任何實例上!!

上面的 AWS 部落格文章應該能夠提供有關該過程的一些細節。如果您需要有關堡壘主機的更多詳細資訊,我還包括以下內容:

堡壘主機的概念: http: //en.m.wikipedia.org/wiki/Bastion_host

如果您需要澄清,請隨時發表評論。

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