当前位置:网站首页>一条通往服务器所有端口的隧道
一条通往服务器所有端口的隧道
2022-07-03 07:54:00 【安全小哥】
应用场景
通常为了安全,服务器需要通过跳板机访问,服务器对外网暴露的端口也严格限制。这种情况下若要在本地
访问服务器上的服务或系统就会比较蛋疼。
有一个简单的解决方案,就是在本地和跳板机之间建立SSH隧道。SSH隧道提供了一个网络代理服务,
通过该代理服务可以直接访问跳板机所在的局域网,即服务器上的任意端口,服务都可以直接访问。
本文介绍的方法比一般的端口映射更方便,不需要为每个端口配置一条SSH隧道,包括Windows、Mac、Linux上的操作方法。
SSH隧道建立
Mac & Linux 版
非常简单,只需一条命令即可建立SSH隧道。
ssh [email protected] -ND 127.0.0.1:1080 |
其实就是在常规的SSH命令加上-D参数,开启动态端口转发,使SSH成为了SOCKS server,在后台提供网络服务。
而-N参数是让ssh不要返回命令行终端,因为我们不需要发送命令,只是做转发。
1080是绑定的本地端口,也就是SOCKS server提供服务的端口,可以换成其他端口号。
127.0.0.1表示只能有你本机访问这个服务,去掉IP只留下端口号的话,就没有这个限制了。
PS:SSH隧道相当于在服务器的防火墙上打了个洞,可能有安全隐患,所以建议加上仅限本机访问的限制。
Windows版
这里使用Windows上常用的XShell做说明。
1.配置常规的SSH连接
配置用户名,密码,主机地址(通常是跳板机)等。
2.添加隧道

3.其他

SSH隧道使用
让浏览器访问内网服务
这里介绍Chrome浏览器+SwitchyOmega插件的方法。
SwitchyOmega是一个Chrome插件,下载安装地址:
Chrome应用商店
或者 官网下载
安装好后,找到插件图标(一个圆圈),单击图标->选项,打开配置页面。
点击侧边栏的“新建情景模式(New Profile)”,添加一个代理服务器(Proxy Profile),
配置如下图。注意端口要填写前面SSH隧道服务的端口号。
如果侧边栏中已经有一个默认的’proxy‘模式,也可以直接拿来修改。

配置好后单击SwitchyOmega的图标,切换到新建的情景模式,然后所有的浏览器请求都会以SSH隧道作为
代理了,这时你应该已经可以访问服务器上的任何web服务了。
但是!我们并不需要所有的浏览器流量都走代理哇。SwitchyOmega其实可以根据URL的规则,自动选择走不走代理。
默认已经存在的一个情景模式’auto switch‘,就是一个可以根据规则来自动选择代理服务的模式。
比如在’auto switch‘模式中配置一条规则,填写10.1.*,并选择proxy模式。这就代表将10.1.
开头的所有请求都用proxy模式转发,而其他不满足规则的请求,将命中最后一条’默认‘规则,
进行’直接访问‘,即不使用任何代理服务。
与Proxifier配合使用
可以让任意程序访问服务器上的服务及端口,实现如下操作:
- 使用客户端(如Navicat)访问服务上的数据库(如没有对公网暴露的MySQL);
- 让本地运行的代码访问服务器内网服务,比如HDFS,Hive,Hbase,ES等等。(对于大数据开发非常实用,
可以愉快的打断点调试Spark应用)
配置方法
1、配置代理服务器


2、配置规则


3 使用说明
配置好规则后,本地应用就可以直接访问服务器的内网IP了。
比如连接数据库:

边栏推荐
- static关键字
- [step on the pit series] MySQL failed to modify the root password
- Pat class a 1030 travel plan
- C2-关于VCF文件合并的几种方法
- vcs import src < ros2. Repos failed
- 华为S5700交换机初始化和配置telnet,ssh用户方法
- Unity dotween sequence animation replay problem.
- 华为交换机Console密码重置、设备初始化、默认密码
- Getting started with minicom
- experiment.........
猜你喜欢

Pat class a 1028 list sorting

多旅行商问题——公式和求解过程概述

一篇文章让你读懂-曼彻斯特编码

Project experience sharing: handwritten Chinese character recognition based on Shengsi mindspire

The difference between hdmi2.1 and hdmi2.0 and the conversion of PD signals.

Pycharm remote ssh pyenv error: pydev debugger: warning: trying to add breakpoint to file that does

Docker installs MySQL and successfully uses Navicat connection

Harmonyos third training notes

What to do after the browser enters the URL

*p++、*++p、++*p、(*p)++
随机推荐
What to do after the browser enters the URL
Go language foundation ----- 11 ----- regular expression
【LeetCode】3. Merge two sorted lists · merge two ordered linked lists
MAE
Register keyword
链式长取值
[step on the pit series] MySQL failed to modify the root password
oracle 插入单引号
static关键字
什麼是定義?什麼是聲明?它們有何區別?
PDO and SDO concepts
Redis profile
C2 several methods of merging VCF files
*p++、*++p、++*p、(*p)++
VMware virtual machine configuration static IP
Technical dry goods Shengsi mindspire dynamic transformer with variable sequence length has been released!
创业团队如何落地敏捷测试,提升质量效能?丨声网开发者创业讲堂 Vol.03
Install cross compiler arm none liunx gnueabihf
Static keyword
OSPF protocol summary
