关于ssh隧道使用

前言

对于一些很多之前不理解的地方,知道这个东西后才恍然大悟。比如为什么mysql默认监听地址是127.0.0.1,又或者vncserver 监听地址也是127.0.0.1,还有很多服务都是监听地址是127.0.0.1。

之前对于这种方式我都是将其改为0.0.0.0 ,让其监听的端口可以被外部直接访问,而不是通过本机才能访问到。

正确使用方式:应该是先用 ssh 端口转发,比如mysql 访问,先把远程的3306端口映射到本地 3306端口,然后再通过各种软件直接连接本地127.0.0.1:3306 就可以了。这种方式相当于你需要知道服务器密码,并且也需要知道你数据库密码,双重认证,更加安全。并且用完之后退出ssh隧道,在别人就完全访问不到3306端口了。

1.使用场景

接下来我用 服务在远程 ,服务在本地 俩种描述方式,来描述使用场景。用 远程/本地 端口转发容易引发歧义

1.1 服务在远程

服务在远程服务器上,本地要访问

场景:服务器上有个vncserver 监听地址 127.0.0.1:5901

bash 复制代码
ssh -L 5902:localhost:5901 username@remote_server

连接后,直接访问本机 127.0.0.1:5902 来使用vnc服务

1.2 服务在本地

本地有个服务,远程服务器要访问

场景:本地上有个xserver 监听地址 127.0.0.1:6000

bash 复制代码
ssh -R 6001:localhost:6000 username@remote_server

连接后,远程服务器上访问 6001 可以访问到本地的xserver服务。

不过对于 xserver我们更多直接使用 X11Forwarding 来实现,不用额外的设置ssh隧道。

1.3 默认配置

如果不想每次都设置 -R -L ,也可以用配置文件实现 ~/.ssh/config

复制代码
Host myhost
    LocalForward 8080 localhost:80
    RemoteForward 9000 localhost:8000

设置好默认匹配host规则后,就可以对指定的ip or host生效了

相关推荐
承渊政道22 分钟前
星空组网+Python实战:在另一台电脑上查看CSV报表
运维·开发语言·python·csv·星空组网
木卫二号Coding5 小时前
推荐Linux统计文件大小并操作删除工具-ncdu
linux·运维·服务器
志栋智能6 小时前
超自动化运维:实现IT服务消费化的基础
运维·自动化
198******126347 小时前
2026企业AI办公工具选型指南:从评估框架到场景适配
大数据·运维·人工智能
吴声子夜歌7 小时前
Nginx应用与运维——Nginx HTTP模块详解(数据处理功能模块)
运维·nginx·http
2601_967212727 小时前
专利型电源轨道系统技术路线对比与选型框架
大数据·运维·网络·经验分享
数字化顾问8 小时前
(138页PPT)流程体系的建设优化与运营(附下载方式)
大数据·运维·人工智能
2601_967287579 小时前
轮胎侧壁上的 91V 是什么意思,负荷指数与速度级别怎么看
运维·服务器·汽车
小此方9 小时前
Linux网络(十九):TCP流量控制与滑动窗口详解,超时重传和快重传到底有什么区别
linux·运维·服务器·网络·网络协议·tcp/ip
海宇服务9 小时前
零信任架构实战:基于海宇运营商近3个月欠费次数构建自动化履约能力评估管线
运维·人工智能·架构·自动化