在没有安全组规则的AWS环境下,端口转发如何工作?



使用Ubuntu 22.04运行AWS EC2实例。我也在那里运行一个jupyter服务器用于python开发,并通过ssh隧道从我的本地Ubuntu笔记本电脑连接到它。

#!/usr/bin/env bash
# encoding:utf-8
SERVER=98.209.63.973 # My EC2 instance
# Tunnel the jupyter service
nohup ssh -N -L localhost:8081:localhost:8888 $SERVER & # 8081:Local port 8888:remote port

但是,我从未通过安全组规则打开ec2实例的端口8888。在这种情况下,端口转发是如何工作的?它不应该被封锁吗?

当使用ssh -L时,ssh将侦听本地端口8081,并将通过ssh连接发送该流量(端口22)到目标计算机。接收到流量的ssh守护进程然后将流量转发到localhost:8888

不需要在EC2实例安全组中允许端口8888,因为它通过端口22接收此流量。

SSH连接所做的不仅仅是发送您键入的按键。它是一个完整的协议,可以通过多个逻辑通道传递流量。

相关内容

  • 没有找到相关文章

最新更新