![连接到连接到远程主机的设备并映射到本地主机](https://linux22.com/image/191968/%E8%BF%9E%E6%8E%A5%E5%88%B0%E8%BF%9E%E6%8E%A5%E5%88%B0%E8%BF%9C%E7%A8%8B%E4%B8%BB%E6%9C%BA%E7%9A%84%E8%AE%BE%E5%A4%87%E5%B9%B6%E6%98%A0%E5%B0%84%E5%88%B0%E6%9C%AC%E5%9C%B0%E4%B8%BB%E6%9C%BA.png)
我在远程主机上有一个通过 IP 地址连接的设备(见下图)。对于此示例,我的远程主机名为我的远程,并且该设备在我的远程如 192.168.3.15,端口 55555。
我想连接到本地计算机上的此设备(本地主机)这样我就可以以同样的方式直接访问设备。我尝试连接以ssh
映射端口,但无法连接到该设备。
如何设置 ssh 隧道,以便请求连接到设备 (192.168.3.15:55555) 并可以在本地计算机上访问它?我尝试过使用ssh tunnel
但没有取得太大成功:
# executed from command line on localhost
ssh -vvv -N -T -L :55555:192.168.3.15:55555 username@myremote
我需要从本地主机连接到位于 192.168.3.15:55555 的设备,该设备仅在远程主机上可见。我可以与 ssh 正常连接,并且可以使其他隧道操作正常工作(例如 jupyter 笔记本远程服务器)。但是,到目前为止我还无法到达设备本身。注意:该设备使用以太网电缆在本地连接到远程,并且在远程主机的 LAN 上无法看到。
答案1
我成功运行此命令:
ssh -vvv -N -T -L 55555:192.168.3.15:55555 username@myremote
也许当 ssh 不起作用时,您可以向我们提供 ssh 的输出。
在我的连接上我得到:
Authenticated to myremote ([XXX.XXX.XXX.XXX]:22).
debug1: Local connections to LOCALHOST:55555 forwarded to remote address 192.168.3.15:55555
也可能是远程 ssh 主机上不允许转发。
在 myremote 主机上检查 openssh 服务器:
grep AllowTcpForwarding /etc/ssh/sshd_config
或者 dropbear 的参数 -a、-j 和 -k
另请记住,您转发的是 TCP 端口 - 而不是 UDP