SSH Tunnel
http://blog.163.com/pcj_2008/blog/static/9824487201231113825369/
假设有这样一个需求,需要从家中访问公司内网机器,可以用ssh遂道技术来作转发,遂道分正向遂道和反向遂道两种,如果数据流向与ssh的顺序(从 ssh client -> ssh server )相同即为正向遂道(用-L标识),如果数据流向与 ssh的顺序相反即为反向遂道。下面直接上两张图来说明:
上面第一张图是正向遂道,数据流向与ssh的顺序(指ssh client -> ssh server)相同,即从192.168.1.1:80处监听到请求数据之后,通过ssh遂道,最后转发给了ssh server端6300端口去处理。
6300:192.168.1.1:80 都是前部分是ssh server, 后端分是ssh client
上面第二张图是反向遂道,数据流向与ssh的顺序(指ssh client -> ssh server)相反,即从ssh server端的6300端口监听到数据之后,通过ssh遂道,最后转给了192.168.1.1:8080
仔细想想上面两张图吧,下面直接上代码,从家中访问公司内网的机器,必须在公司有一台可以从家中访问得到的跳转机(例IP:10.10.10.10),要访问的内网机IP为192.168.1.1 。
1)如果用反向遂道实现的话,先修改ssh server的/etc/ssh/sshd_config中的GatewayPorts yes, 重启sshd, /etc/init.d/sshd restart
ssh -R 8422:192.168.1.1:8422 -R 61616:192.168.1.1:61616 root@10.10.10.10 -g -N -C -o TCPKeepAlive=yes
2) 如果用正向遂道的话,先修改ssh server的/etc/ssh/sshd_config中的AllowTcpForwarding true, 重启sshd, /etc/init.d/sshd restart
接着要 ssh 登录到跳转机上执行下列命令:
ssh -L 8422:localhost:8422 -L 61616:localhost:61616 root@9.125.13.30 -g -N -C -o TCPKeepAlive=yes
如果报错“open failed: administratively prohibited: open failed”,那是因为上面的localhost处应该是ssh client的IP
同理,我们FQ的原理,要防墙必须国外有一台ssh server
1) 首先,通过 ssh -D 7070 root@yourForeignSSHhost 登录ssh
2)在firefox中设置使用socket v5的端口代理,端口为7070 (选项菜单里的“高级”选项卡的“Network"子选项卡中设置Connection)
3) 如何仍然有问题,可在firefox的地址栏输入about:config 配置使用远程DNS:network.proxy.socks_remote_dns=true
上面的FQ有个缺点,就是你访问国内的网站它也会用代理,这样就慢啊,所以你也可用autoproxy插件选择仅在访问某些站点的使用指定代理,哪些不用代理
原理如下:比如firefox现在要访问www.163.com,firefox先将请求数据转给socket代理端口7070, 然后通过ssh遂道,最后由国外的ssh server主机去根据远程的DNS访问www.163.comstart putty.exe -load "my desktop" -l user -pw password
start c:\windows\system32\mstsc.exe "c:\putty\MyComputer.rdp"
exit
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现