安全访问在私有子网中启动的 Amazon EC2 上的 Web 界面

安全访问在私有子网中启动的 Amazon EC2 上的 Web 界面

我见过如何通过 NAT 服务器通过 SSH 连接到 VPC 私有子网中的 ec2 实例并且能够通过具有公共 IP 的 NAT 实例在私有子网中的 EC2 中进行 SSH。

假设我想在私有子网中的 EC2 实例中安装具有 Zeppelin 或 Jupyter 等 Web 界面的应用程序,我该如何配置安全访问并通过笔记本电脑上的浏览器连接到 Web 服务?我对这个领域还很陌生,那么实现这一点的正确方法是什么?

答案1

您可以使用带有端口转发的 ssh。

假设你的 EC2 实例的私有 IP 是 10.1.1.1,并且 Web 界面监听端口 80,你的 NAT 主机有一个公共 IP 198.51.100.13,你可以链接两个连续的转发:

从你的笔记本电脑:

ssh -L 8080:127.0.0.1:8080[电子邮件保护]

从 NAT 主机中新打开的 shell 中:

ssh -L 8080:10.1.1.1:80 [email protected]

现在您可以在笔记本电脑上打开浏览器并指向:

http://127.0.0.1:8080


实际上,你可以配置你的 ssh 客户端,比如自动使用中间盒。在你的笔记本电脑上,打开~/.ssh/config并告诉 ssh 在执行以下操作时通过 NAT 盒10.1.1.1

Host 10.1.1.1
ProxyCommand ssh -W %h:%p YOUR_NAT_HOSTS_IP

现在您可以直接从笔记本电脑进行 ssh,ssh 将首先透明地打开与 NAT 盒的连接,然后将您传递给 EC2 实例。

相关内容