ssh 服务器(外网)通过客户端(内网)代理上网以及反向控制客户端(内网),不需要网络管理员权限,不需要 NAT。
即可上网主机 A 位于内网,不可上网主机 B 位于外网,A 能直接访问 B,但 B 无法访问防火墙内的 A,这样 B 就可以使用 SSH 隧道访问 A 主机上的代理服务器上网。
ssh -C -f -N -g -o PreferredAuthentications=publickey -R SERVER:8189:127.0.0.1:8189 alipms@102.5.6.100 -p5022
# 参数含义:
# -C: 要求对数据进行压缩
# -f:要求 ssh 执行完交互后进入后台运行
# -N:不用建立一个终端
# -g:允许远程服务器连接客户端转发端口
# -R SERVER:8189:127.0.0.1:8189:将客户机(127.0.0.1)的8189端口绑定到服务器(SERVER)的 8189 端口。
# alipms@102.5.6.100 :ssh服务器的用户名和密码
# -p 5022:ssh服务器的端口
实际应用:
在内网机器上,向102.5.6.100(外网机器)建立隧道,
ssh -o ServerAliveInterval=60 -N -f -R 6793:127.0.0.1:22 alipms@102.5.6.100 -p5022
在102.5.6.100机器上就可以 ssh alipms@127.0.0.1 -p6793登陆到内网的机器