Linux反向隧道:修订间差异
跳到导航
跳到搜索
(创建页面,内容为“假设有机器 C 和 T,均为公网IP。此时 C 无法向 T 发起连接。 现有一公网 IP 机器 P,那么 C 与 T 均可主动向 P 发起连接。此时可透过 P,完成 C 向 T 发起连接。需要: #Env:T 可用证书连接到 P #Env:P 的 sshd_config 配置打开转发功能:GatewayPorts yes(重启 sshd) #Env:P 的 firewall 打开相应端口 #T 向 P 主动建立一个 SSH 隧道,如:将 P 的 10022 端口转发到 B 的…”) |
无编辑摘要 |
||
第1行: | 第1行: | ||
有内网机器 C 和 T,均无公网IP,此时 C 无法向 T 发起连接。 | |||
现有一公网 IP 机器 | 现有一公网 IP 机器 P,C 与 T 均可主动向 P 发起连接。此时可透过 P,完成 C 向 T 发起连接。需要: | ||
#Env:T 可用证书连接到 P | #Env:T 可用证书连接到 P | ||
#Env:P 的 sshd_config 配置打开转发功能:GatewayPorts yes(重启 sshd) | #Env:P 的 sshd_config 配置打开转发功能:GatewayPorts yes(重启 sshd) | ||
#Env:P 的 firewall 打开相应端口 | #Env:P 的 firewall 打开相应端口 | ||
#T 向 P 主动建立一个 SSH | #T 向 P 主动建立一个 SSH 反向隧道,如:将 P 的 10022 端口转发到 T 的 22 端口 | ||
# 在 T 上建立反向隧道 | # 在 T 上建立反向隧道 | ||
ssh -T -f -N -g -R :10022:127.0.0.1:22 PublicIP | ssh -T -f -N -g -R :10022:127.0.0.1:22 PublicIP |
2023年12月18日 (一) 15:53的版本
有内网机器 C 和 T,均无公网IP,此时 C 无法向 T 发起连接。
现有一公网 IP 机器 P,C 与 T 均可主动向 P 发起连接。此时可透过 P,完成 C 向 T 发起连接。需要:
- Env:T 可用证书连接到 P
- Env:P 的 sshd_config 配置打开转发功能:GatewayPorts yes(重启 sshd)
- Env:P 的 firewall 打开相应端口
- T 向 P 主动建立一个 SSH 反向隧道,如:将 P 的 10022 端口转发到 T 的 22 端口
# 在 T 上建立反向隧道 ssh -T -f -N -g -R :10022:127.0.0.1:22 PublicIP
参数说明:
- -T 不分配伪终端
- -f 使 ssh 进程在用户输入密码之后转入后台运行
- -N 不执行远程指令,即代理服务器不需执行指令,只作端口转发
- -g 允许代理服务器连接到本地转发端口
- -R 将代理服务器指定端口上的连接转发到本机端口
- :10022:127.0.0.1:22表示本机回环接口(127.0.0.1,也可使用本机其他网络接口的地址,比如以太网 IP 或 WiFi IP)的 22 端口连接到远程主机的 10022 接口,因远程主机 10022 绑定的地址为空,所以远程主机会监听其所有网络接口的 10022 端口