当前位置:网站首页>一条通往服务器所有端口的隧道
一条通往服务器所有端口的隧道
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了。
比如连接数据库:

边栏推荐
- How to clear the console password for s7700 device
- 【cocos creator】获取资源uuid
- Precautions for opensips and TLS SIP trunk docking
- E: 无法定位软件包 ros-melodic-desktop-full
- Project experience sharing: handwritten Chinese character recognition based on Shengsi mindspire
- 【LeetCode】4. Best time to buy and sell stock
- 一个实习生的CnosDB之旅
- Go language foundation ----- 05 ----- structure
- Go language foundation ----- 13 ----- file
- [MySQL 13] if you change your password for the first time after installing mysql, you can skip MySQL password verification to log in
猜你喜欢

WPF:解决MaterialDesign:DialogHost 无法关闭问题

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

PAT甲级 1027 Colors in Mars

How can entrepreneurial teams implement agile testing to improve quality and efficiency? Voice network developer entrepreneurship lecture Vol.03

Pat class a 1031 Hello world for u

LwIP learning socket (application)

Professor Zhang Yang of the University of Michigan is employed as a visiting professor of Shanghai Jiaotong University, China (picture)

一个实习生的CnosDB之旅

An article for you to understand - Manchester code

Go language foundation ----- 16 ----- goroutine, GPM model
随机推荐
Go language foundation ----- 18 ----- collaboration security, mutex lock, read-write lock, anonymous lock, sync Once
Getting started with minicom
Redis view client connection
How does yarn link help developers debug NPM packages?
Redis配置文件
Idea unreference Display Effect
JS to implement publish and subscribe
MAE
Usage of (case, when) in PostgreSQL
Quality blog——
PAT甲级 1029 Median
Go language foundation ----- 06 ----- anonymous fields, fields with the same name
Go language - loop statement
Go language foundation ----- 02 ----- basic data types and operators
Pat class a 1031 Hello world for u
When did you find out that youth was over
PDO and SDO concepts
jsutlis
s7700设备如何清除console密码
Docker installs MySQL and successfully uses Navicat connection
