2020-05-08 16:10:22
利用SSH穿越多级跳板访问云端内网Web服务的核心步骤为:配置SSH多级跳板隧道、安装浏览器代理插件并设置规则、在最后一级跳板机建立本地SOCKS5隧道,最终通过浏览器代理访问目标服务。
一、配置SSH多级跳板隧道需先完成“利用SSH穿越多个跳板机”的基础配置,具体操作如下:
访问者机器为Linux或MacOS可直接操作;
Windows 10需安装Ubuntu for Windows 10(共生环境),在Ubuntu 18.04中完成配置;
Windows 7需使用Putty工具(因对OpenSSH的SSH Config支持较差)。
以Chrome浏览器为例,需安装SwitchyOmega插件并配置自动代理规则:
打开SwitchyOmega,新建一个Profile(如命名为socks5web);
协议选择SOCKS5,服务器填127.0.0.1,端口填未被占用的端口(如1080)。
在“自动切换”(Auto Switch)规则中,添加条件类型为Host wildcard(通配符匹配);
条件细则可填单个域名/IP(如myweb.net),或含通配符的域名/IP(如*.myweb.net或192.168.1.*);
选择刚创建的socks5web Profile,保存配置。
选择能解析目标域名或IP的最后一级跳板机(如jumper4),按以下步骤操作:
确保跳板机可解析目标域名(如通过DNS服务器或直接修改/etc/hosts文件添加域名-IP映射);
将访问者机器的SSH公钥放入跳板机的~/.ssh/authorized_keys文件中,实现免密登录。
-o ServerAliveInterval=10:保持SSH连接活跃(每10秒发送一次心跳包);
-gfND:后台运行隧道(-g允许远程主机连接本地端口,-f后台模式,-N不执行远程命令,-D绑定本地SOCKS代理);
1080:本地SOCKS代理端口;
jumper4:最后一级跳板机的主机名或IP。
通过以上步骤,可实现通过SSH多级跳板安全访问云端内网Web服务,且无需在浏览器端配置DNS解析。