不幸的是,我的 ISP 仅提供 DS-Lite 连接(没有 IPv4 地址,只有 IPv6 地址),这使得无法创建 IPv4 端口转发来访问本地网络中的设备。
但是我有一个具有 IPv4+IPv6 地址和用户(非 root)shell 的 vServer。因此,我认为可以从本地网络中的 Raspberry Pi 到 vServer 建立 SSH 隧道。然后从 Raspberry Pi 创建 IP 转发到我想要在本地网络中访问的设备。这通常可行吗?我可以从 Raspberry Pi 启动隧道吗?还是必须由 vServer 启动到 Raspberry Pi?
我临时在树莓派上创建了一个网络服务器(端口 64321),并尝试了以下命令:
ssh -R 64321:localhost:64321 [email protected]
但我无法通过输入来访问网络服务器tunnelserver.com:6421
。
非常感谢你的帮助!
答案1
所以你没有 VPS 的管理员权限,对吗?这会阻止你实施更有效的解决方案。
我在这里要指出两个明显的错误:
64321
您在命令行中漏掉了端口中的一个数字:ssh
但是6421
在尝试时。- 因为您没有指定
bind_address
(如),所以-R [bind_address:]port:host:hostport
远程端口正在监听localhost
。您需要使用0.0.0.0
或使其监听所有接口。[::]
\*
此外,要使此功能正常工作,需要将 OpenSSH 服务器配置文件GatewayPorts
中的指令sshd_config
设置为yes
或clientspecified
(更好)。默认值当然是no
。
如果让它工作,就不需要端口转发。只需在参数中指定正确的目标主机和端口即可-R
。