SSH动态代理访问内网
使用场景
假设目前需要访问公司内网环境,但内网的一些服务资源不在内网是无法访问到的。刚好内网有一台机器有公网IP,就可以用这个有公网IP的机器作为跳板机代理,将请求全部通过跳板机转发。
跳板机代理设置
执行ssh -CgfN -D 0.0.0.0:1080 root@【跳板机的公网ip】即可。
-C 是启用数据压缩
-g 是允许其他机器通过本机访问代理
-f 是在后台运行
-N 是不执行命令,仅作转发
-D 表示采用动态代理,所有到指定端口的访问均通过代理。(相关的有-L和-R选项分别用于访问内网某个服务或将当前计算机的服务暴露给外网)
问题解决
ssh -D命令错误
输出错误信息:Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
原因:未开启密码登录
解决:参考这里
设置成功后无法访问
现象:telnet 公网IP 1080无法建立连接。
原因1:安全组未放行1080端口
方案1:去服务器管理中在安全组中放行1080端口。
浏览器通过跳板机代理访问内网
设置方式比较多,下面演示下通过SwitchOmega【下载链接】设置代理方式
这里代理服务器一栏应填写服务器A的对外IP,代理端口填写上面设置的端口(这里是1080)