当前位置:网站首页>一条通往服务器所有端口的隧道
一条通往服务器所有端口的隧道
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了。
比如连接数据库:
边栏推荐
- Go language foundation ----- 18 ----- collaboration security, mutex lock, read-write lock, anonymous lock, sync Once
- Install cross compiler arm none liunx gnueabihf
- PAT甲级 1028 List Sorting
- EtherCAT state machine transition (ESM)
- How to clear the console password for s7700 device
- WorldView卫星遥感影像数据/米级分辨率遥感影像
- The difference between hdmi2.1 and hdmi2.0 and the conversion of PD signals.
- 【踩坑系列】mysql 修改root密码失败
- Technical dry goods | Bert model for the migration of mindspore NLP model - text matching task (2): training and evaluation
- [at] abc 258G - Triangle 三元组可达-暴力
猜你喜欢
HDMI2.1与HDMI2.0的区别以及转换PD信号。
Go language foundation ----- 08 ----- interface
An article for you to understand - Manchester code
Install cross compiler arm none liunx gnueabihf
Pat class a 1032 sharing
Technical dry goods | Bert model for the migration of mindspore NLP model - text matching task (2): training and evaluation
一个实习生的CnosDB之旅
JS common basic case sorting (continuous update)
Go language foundation ----- 18 ----- collaboration security, mutex lock, read-write lock, anonymous lock, sync Once
Go language foundation ----- 06 ----- anonymous fields, fields with the same name
随机推荐
多旅行商问题——公式和求解过程概述
Go language foundation ----- 10 ----- string related operations (operation function, string conversion)
Install cross compiler arm none liunx gnueabihf
Iterm2 setting
[MySQL 14] use dbeaver tool to remotely backup and restore MySQL database (Linux Environment)
Docker installs MySQL and successfully uses Navicat connection
Pat grade a 1029 median
[MySQL 11] how to solve the case sensitive problem of MySQL 8.0.18
Project experience sharing: handwritten Chinese character recognition based on Shengsi mindspire
Redis查看客户端连接
2020-12-12
WPF:解决MaterialDesign:DialogHost 无法关闭问题
PAT甲级 1032 Sharing
How to configure GDAL under idea
How does yarn link help developers debug NPM packages?
PHP common sorting algorithm
PAT甲级 1029 Median
Differences between tp3.2 and tp5.0
register关键字
PAT甲级 1028 List Sorting