我已经看到如何通过NAT服务器在VPC私有子网中通过SSH连接到ec2实例,并能够通过具有公共IP的NAT实例在私有子网中的EC2中进行SSH连接。
假设我想在私有子网的EC2实例中安装带有Zeppelin或Jupyter等Web界面的应用程序,我将如何configuration安全访问并通过我的笔记本电脑中的浏览器连接到Web服务? 我对这个领域相当陌生,那么采取什么正确的方法来实现呢?
你可以使用ssh和端口转发。
假设您的EC2实例的私有IP为10.1.1.1,并且Web接口在80端口侦听,您的NAT主机具有公有IP 198.51.100.13,则可以链接两个连续的转发:
从你的笔记本电脑
ssh -L 8080:127.0.0.1:8080 [email protected]
从NAT主机中新打开的shell:
ssh -L 8080:10.1.1.1:80 [email protected]
现在,您可以在笔记本电脑上打开浏览器,并将其指向:
http://127.0.0.1:8080
其实你可以configuration你的SSH客户端,如自动使用中间框。 在您的笔记本电脑上,打开~/.ssh/config并在10.1.1.1时告诉ssh通过NAT盒子:
Host 10.1.1.1 ProxyCommand ssh -W %h:%p YOUR_NAT_HOSTS_IP
现在你可以直接从你的笔记本电脑上ssh了,ssh会首先透明地打开一个到NAT的连接,然后把你转到EC2实例。