通过 SSH 反向隧道转发特定端口

Hor*_*ein 6 linux ssh mpd port-forwarding

所以不幸的是,我住在一个不允许我拥有静态 IP 的地方,所以我一直在通过在微型亚马逊 ec2 实例上运行的反向 SSH 隧道设置对我家用计算机的访问。我已经让 SSH 正常工作,但我无法弄清楚端口转发。

这是我制作的一个小信息图来帮助说明(我觉得这个问题通过我想要做的图表更清晰。

以下是图中列出的命令:

我在我的家用电脑上执行以下操作:

ssh -R 1337:localhost:22 -i .ssh/tokyoMinekey.pem ec2-user@ec2serveraddress
Run Code Online (Sandbox Code Playgroud)

我在 ec2 服务器上运行它:

ssh -L6600:localhost:6600 -Nf localhost -p 1337
Run Code Online (Sandbox Code Playgroud)

我的痛苦图......在油漆中 AHHHHHH YEAHHHHHH!

仅供参考,我已将端口 6600 添加到我的 amazon ec2 安全组中,因此它在 ec2 端开放

小智 3

我不确定你为什么在这里使用两个单独的 ssh 命令?如果您想将 EC2 上的端口 6600 转发到家里机器上的端口 6600,那么您需要做的就是:

ssh -R :6600:localhost:6600 -i .ssh/tokyoMinekey.pem ec2-user@ec2serveraddress
Run Code Online (Sandbox Code Playgroud)

您还需要确保EC2 实例上的文件GatewayPorts中启用了该选项。sshd_config

显然,您需要保持 ssh 连接打开,端口转发才能继续工作,但除此之外应该不会有任何问题。