SSH 隧道到远程地址

SSH 隧道到远程地址

我有一台虚拟机,可通过 192.168.56.101:22 访问。现在我想创建一个隧道:

127.0.0.1:12345->www.google.com:80

其中 127.0.0.1 是虚拟机环回接口的 IP 地址。主机操作系统有到 www.google.com 的路由,并且未启用包转发。

是否可以仅使用 SSH 来执行此操作? 如果可以,怎么做?

答案1

从主机尝试。ssh -R 127.0.0.1:12345:www.google.com:80 [email protected]

这会通过隧道将虚拟机上的 127.0.0.1:12345 转发到 www.google.com:80。

答案2

ssh -L 127.0.0.1:12345:www.google.com:80 [email protected]

这将创建从某个工作站通过 192.168.56.101 到 www.google.com 的隧道

我不确定你的问题是否真的在问这个 - 但这是最​​有意义的答案。由于虚拟机已经可以访问 www.google.com,我假设你有第三台机器(例如工作站)想要通过虚拟机访问 google。

但这会创建一个隧道,使得工作站监听端口 12345,并且发送到该端口的任何流量都会发送到您的虚拟机,然后传出到 Google。

答案3

ssh  [email protected]  -L localhost:12345:google.com:80

然后,连接到 localhost:12345 以访问 google.com。此外,您还可以使用

ssh [email protected]  -D localhost:12345

让 ssh 在您使用应用程序连接到 localhost:12345 时决定连接到哪里(例如 google.com:80)。

我相信这两种方法都可以。

相关内容