如何通过隧道将本地端口连接到远程服务器

Tre*_*lph 5 ssh port-forwarding ssh-tunnel

我有一个从 DynDNS 购买的域。我将域指向我的 IP 地址,以便我可以运行服务器。我的问题是我不住在服务器计算机附近......我可以使用 ssh 隧道吗?据我了解,这将使我可以访问我的服务器。我希望远程计算机将来自端口 8080 的流量通过 ssh 隧道引导到 ssh 客户端,即我的笔记本电脑的端口 80。这可能吗?

Vuc*_*rul 8

这实际上很容易完成,即使它有点隐藏在 ssh 文档中。假设OpenSSH,基本语法如下:

ssh -R 8080:localhost:80 -N username@your-server.dyndns.org
Run Code Online (Sandbox Code Playgroud)

这将在 your-server.dyndns.org 的端口 8080 上打开一个侦听套接字,并且在其上建立的任何连接都your-server.dyndns.org:8080将通过 SSH 隧道转发到已打开该 SSH 连接的计算机,并从那里定向到localhost:80.

-N选项指示 SSH 不要打开 shell 或其他任何东西,只是为了建立端口转发,因此您可以将其发送到后台并保持运行。

Putty 使用几乎相同的语法,但包含在某种 GUI 中。不过原理是一样的。

但是做事要小心。由于您本质上是将外部流量汇集到您的网络中,因此您在网络防火墙中推了一个漏洞。如果不是您的网络,您的管理员可能会反对并追究您的责任——通常是有原因不允许您访问某些类型的流量的。