SSH 隧道技术

开发中遇到的需求:使用本地 localhost:3306 映射到远程 二号服务器 192.168.1.3:3306,但二号服务器没有公网IP。

image.png

一、SSH 隧道技术原理:

是在【开发机】打开3306端口监听,将3306的连接请求转发到 【一号服务器】的SSH 连接(22端口),然后由【一号服务器】以TCP连接请求到 【二号服务器】的3306端口

二、命令:

ssh -L 3306:192.168.1.3:3306 -Nf root@10.0.0.5 

解释:

  1. 第一个3306是【开发机】监听的端口;
  2. 192.168.1.3 是【二号服务器】的内网IP
  3. 第二个3306 是【二号服务器】的MySQL的服务端口
  4. root@10.0.0.5 是SSH登录【一号服务器】
  5. -N 登录【一号服务器】不执行任何登录脚本
  6. -f 以后台静默方式登录【一号服务器】,即不进入其交互模式。

命令执行后,可以使用以下命令查看端口打开的情况:

lsof -i:3306

连接执行

注意:为完成无感方式连接,需要预先配置好与【一号服务器】的免密登录

mysql --host localhost -uroot -p

此时即完成了向【二号服务器】3306端口的连接。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容