不同于通过 SSH 将互联网连接转发到 Linux 控制台,我的远程机器不在防火墙后面。
偏僻的(192.168.12.34)
- 一台仅本地连接到服务器的机器和 192.168.1 中同一交换机内的几台机器。。IP 范围。
服务器(10.0.0.1 和 192.168.12.1)
- 连接到与我的笔记本电脑和其他机器共享的内部网络的服务器(在 10.0.。IP 范围)
- 该服务器还连接到不在内部网络上但允许连接到远程(在 192.168.100 网络中)的本地交换机。。IP 范围)
- 已连接到互联网。
笔记本电脑(10.0.98.76)
- 我的机器可以通过与 SERVER 和其他机器共享的内部网络访问 SERVER,但不能远程访问
- 已连接到互联网。
要从笔记本电脑访问远程,我通常进行两次跳转,首先到服务器,然后到远程
$ ssh 10.0.0.1
$ ssh 192.168.12.34
我的问题是如何通过服务器将所有往返于远程的连接转发到互联网?
我没有物理访问权限,也没有服务器和远程的 GUI,所以我只能通过笔记本电脑和命令行来完成。
答案1
您可以使用 ssh 和服务器上的 sshd 在笔记本电脑上创建 Socks 代理:
ssh -N -R 9090:laptop:9090 -D 1080 10.0.0.1
这不会使用服务器上的命令或 shell(通过 -N)。
本地主机端口 1080 是您在笔记本电脑上配置的,大多数操作系统都可以使用旧版 Socks。
端口 9090 是黄金通路到您的笔记本电脑。
服务器可能被配置为拒绝这一点,因为您可以隧道化所有的 tcp!
答案2
就像你ssh
两次一样,你可以尝试链接sshuttle
两次。