ssh代理设置

帮同学折腾ssh代理

环境描述

服务器 A

A 处于 局域网内,可以访问外网。

IP: 10.109.247.88

在其 80 端口上有http 服务

服务器 B

B 为阿里云主机 有公网IP

IP: 23.23.23.23

需求

虽然 A 所在的局域网有VPN 端口让外界访问。但是就是想折腾!!!!!

通过ssh 反向代理 将 服务器A 的http 服务暴露出来。

就是这么任性

解决方法

1.配置ssh密钥登陆

教程 请google~~~

2.在服务器A上配置反向代理

确定 A 上的http 服务绑定的地址和端口号!!!

比如我的就绑定在 10.109.247.88:80 上

在 A 上执行命令:

$ ssh -fNR 2323:10.109.247.88:80 root@23.23.23.23

  ^

B 上的端口1

解释: 将服务器A上的 8080 端口 反向代理到 服务器 B 的2323 端口上

3.在服务器B上配置正向代理

此时 在服务器B上只能本地访问 2323 端口

在B上执行命令

$ ssh -fNL “*:8080:127.0.0.1:2323” root@23.23.23.23

解释: 将本地的2323 端口正向代理到 *:8080 将http 服务暴露出来~~~

1. ssh 密钥登陆

google 搜索~~

2. 阿里爸爸好心的给你的主机设置了安全策略,仅暴露 icmp ssh(22)

在阿里的控制面板上修改策略~~

3. 确定内网主机服务绑定的地址和端口号

我的就是绑定在 内网地址:80 上。。。
在执行第一条命令如果执行
$ ssh -fNR 2323:127.0.0.1:80 root@23.23.23.23
绑定失败~~

未完~~待续~~