mysql ssh隧道连接内网mysql

news2024/11/27 6:12:11

通过SSH隧道连接MySQL数据库

一.背景

问题所在:MySQL被运用于越来越多的业务中,在关键业务中对数据安全性的要求也更高,数据安全如果只靠MySQL应用层面显然是不够的,虽然说MySQL实现的登录机制基本不存在泄露密码的风险,但是登录之后的SQL语句和执行结果的传输却都是明文传输的;

解决方案:出于数据库的安全性,数据库管理员在配置数据库时会为数据库增加一层“保护伞”,保护用户在连接数据库时的安全和信息不被泄漏,通常的做法就是通过SSH(SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell提供安全的传输和使用环境)隧道进行连接,也就是为数据库增加一个安全协议,这也导致了用户进行远程连接时的困难。

以下是通过ssh隧道连接的示意图:

0015c6baec0c129326d8498873395da

下面我们就介绍一下如何远程连接和通过SSH隧道连接滴滴云DC2中的MySQl数据库。

二.连接方法

本文操作均使用的滴滴云产品,所以操作过程中注意在"控制台"的"安全组"中设置好IP和端口的访问限制。

主机名角色IP端口
10-254-81-196MySQL主机115.11.22.9422/3306
10-255-0-218远程主机116.85.33.18522/3306/3307

2.1 Linux 普通远程连接

默认情况下,MySQL帐号不允许从远程登陆,只能在localhost登录,如按照普通方式远程连接MySQL,需要添加远程主机(116.85.33.185)的登录权限。

修改MySQL允许远程连接:

[root@10-254-81-196 dc2-user]# mysql -u root -p
 
## 本地登录MySQL;
 
Enter password:
 
## 输入MySQL密码;
 
mysql> grant all on *.* to root@'116.85.33.185' identified by 'pass4you';
 
# 允许root用户通过116.85.33.185访问数据库
 
mysql> flush privileges;

远程连接:

[root@10-255-0-218 dc2-user]# mysql -h 115.11.22.94 -P 3306 -u root -p    # 如果是秘钥就带上 -i 参数加xxx.pem秘钥
 
# 在DC2:10-255-0-218上通过3306端口远程连接DC2:10-254-81-196中的MySQL数据库;    
 
Enter password:
 
# 输入MySQL密码;
 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 7591
Server version: 5.7.25 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
MySQL [(none)]> 
# 远程连接成功。

2.2 Linux SSH隧道连接(推荐)

默认远程主机已安装MySQL;被连接MySQL不允许远程登录;

0015c6bb0090b3007328ca1fa5394e5

建立隧道:

[root@10-255-0-218 dc2-user]# ssh -fCPN -L 3307:127.0.0.1:3306 -p 22 dc2-user@115.11.22.94
# 在本地打开一个SSH的守护进程,该进程会监听本地的3307端口,这个端口为隧道的入口,当访问本地的3307端口时,数据包会通过ssh进程,发送到10-254-81-196的3306端口;
# -C    使用压缩功能,是可选的,加快速度;
# -P    用一个非特权端口进行出去的连接;
# -f    一旦SSH完成认证并建立port forwarding,则转入后台运行;
# -N    不执行远程命令.该参数在只打开转发端口时很有用(V2版本SSH支持);
The authenticity of host '115.11.22.94 (115.11.22.94)' can't be established.
ECDSA key fingerprint is SHA256:lmwBveuC78QBzZBIEDPXgoNI0J58cT8u9k4A3Yh6+wQ.
ECDSA key fingerprint is MD5:aa:34:00:e4:36:d3:a3:fd:08:4d:8f:62:01:50:6f:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '115.11.22.94' (ECDSA) to the list of known hosts.
 
dc2-user@115.11.22.94's password:
# 输入被远程主机10-254-81-196的主机密码;

连接数据库:

[root@10-255-0-218 dc2-user]# mysql -h 127.0.0.1 -P 3307 -u root -p
 
# 通过本地3307端口连接MySQL数据库;
 
Enter password:
 
# 输入MySQL密码;
 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 7581
Server version: 5.7.25 MySQL Community Server (GPL)
 
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
MySQL [(none)]>
 
# 通过SSH隧道远程连接MySQL成功。

2.3 MAC 系统 SSH隧道连接(推荐)
默认远程主机已安装MySQL;被连接MySQL不允许远程登录;借助第三方工具Navicat for

安装软件

Navicat官方网站下载Navicat for MySQL软件,并安装。

创建新的连接

常规选项:

“连接名” 自定义填写; “主机” 填写回环地址; “端口” 填写MySQL数据库所启用的端口号; “密码” 填写MySQL数据库的密码;

SSH选项:

“使用SSH通道” 勾选; “主机” 填写DC2:10-254-81-196的公网IP; “端口” 填写SSH所启用的端口号; “用户名” 填写滴滴云DC2登录账号,注意只能为"dc2-user"; “密码” 填写DC2:10-254-81-196的主机密码;

yst_local ,内网登录的信息

在这里插入图片描述

登录ssh服务器隧道
![在这里插入图片描述](https://img-blog.csdnimg.cn/7a8aa69af78643a4b7be702758f0da3c.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/608042.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

冈萨雷斯DIP第11章知识点

文章目录 11.3 边界特征描述子11.4 区域特征描述子11.4.3 纹理11.4.4 矩不变量 11.6 整体图像特征11.6.1 哈里斯-斯蒂芬斯 角检测器11.6.2 最大稳定极值区域 特征检测:在图像、区域或者边界中发现特征;特征描述:将定量属性分配给检测到的特征…

冈萨雷斯DIP第3章知识点

文章目录 3.1 背景3.2 一些基本的灰度变换函数3.2.1 图像反转3.2.2 对数变换3.2.3 幂律伽马变换3.2.4 分段线性变换函数 3.3 直方图处理3.3.1 直方图均衡化3.3.2 直方图匹配(规定化)3.3.3 局部直方图处理3.3.4 使用直方图统计量增强图像 3.4 空间滤波基础…

期末sql_server复习枯燥?乏味?一文带你轻松击破sql壁垒!

🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指…

leetcode197. 上升的温度

【题目】 下面是某公司每天的营业额,表名为“日销”。“日期”这一列的数据类型是日期类型(date)。 请找出所有比前一天(昨天)营业额更高的数据。(前一天的意思,如果“当天”是1月,“…

在腾讯干软件测试5年,5月无情被辞,想给划水的兄弟提个醒

前段时间,一个认识了好几年在大厂工作做软件测试的朋友,年近30了,却被大厂以“人员优化”的名义无情被辞,据他说,有一个月散伙饭都吃了好几顿…… 在很多企业,都有KPI考核,然后在此基础上还会弄…

[自学记录03|百人计划]移动端GPU的TB(D)R架构基础

一、专有名词解释 1.System on Chip(Soc) Soc是把CPU、GPU、内存、通信基带、GPS模块等等整合在一起的芯片的称呼。常见有A系Soc(苹果),骁龙Soc(高通),麒麟Soc(华为&am…

【人工智能】— 监督学习、分类问题、决策树、信息增益

【人工智能】— 监督学习、分类问题、决策树、线性分类器、K近邻、回归问题、交叉验证 监督学习 - 正式设置符号表示假设选择学习目标预测 分类Decision Trees 决策树建立决策树分类模型的流程如何建立决策树? 决策树学习表达能力决策树学习信息论在决策树学习中的应用特征选择…

Koa学习2:路由与数据库连接

路由 安装 npm i koa-router基本功能 定义路由:koa-router提供了一种简单的方式来定义路由,我们可以根据请求的方法和路径来定义不同的路由。 处理请求:koa-router可以帮助我们处理请求,当请求匹配到对应的路由时,k…

人工智能轨道交通行业周刊-第47期(2023.5.29-6.4)

本期关键词:郑州智慧地铁、货运安全监控、激光炮、6C系统、越行站、ChatGPT原理 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetro轨…

SparkSQL文件格式和压缩算法是否支持Split

大数据支持Split的目的是为了能并行处理任务,可以将文件拆分成多个文件块处理。如果不支持Split的话,只能用一个任务处理单个文件。 能否支持Split受到文件格式和压缩算法的双重限制,大部分文件的读取都是可以支持Split,极少数压缩…

每日学术速递5.29

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Custom-Edit: Text-Guided Image Editing with Customized Diffusion Models(CVPR 2023) 标题:自定义编辑:使用自定义扩散模型进行文本引导图像编辑 作者&a…

部署rabbitmq3.10.6详细步骤

RabbitMQ简介 RabbitMQ是Erlang开发的,集群非常方便,因为Erlang天生就是分布式语言,但其本身并不支持负载均衡,支持高并发,支持可扩展。支持AJAX,持久化,用于在分布式系统中存储转发消息&#x…

八、Git分支和版本号的简介

1、Git分支介绍 分支在Git中相对较难,分支就是科幻电影里面的平行宇宙,如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,我们就需要处理一些问题了! 2…

【AI绘图】一、stable diffusion的发展史

一、stable diffusion的发展史 本文目标:学习交流 对于熟悉SD的同学,一起学习和交流使用过程中的技巧和心得。 帮助新手 帮助没有尝试过SD但又对它感兴趣的同学快速入门,并且能够独立生成以上效果图。 1.发展史介绍: 2015年的时候…

汇编重复计算之使用循环与不循环使用区别

没有使用循环的汇编代码,计算ffff:0-ffff:b的累加之和 assume cs:code 表示code段与CS寄存关联 code segment 表示段开始 ,code ends表示段结束,end表示汇编程序结束 mov ax,0ffffh 表示将ffffh送入ax寄存器 mov ds,ax 表示将ax寄存器值送入ds寄存器 mov …

第二十四章 开发Productions - ObjectScript Productions - 定义业务服务

文章目录 第二十四章 开发Productions - ObjectScript Productions - 定义业务服务介绍关键原则定义业务服务类实施 OnProcessInput() 方法 第二十四章 开发Productions - ObjectScript Productions - 定义业务服务 本页介绍如何定义业务服务类。 提示: IRIS 提供…

高完整性系统 (2):Requirement 与 Design 阶段的风险控制——Hazards, HAZOP, Fault Tree

文章目录 安全性工程流程Hazards反事实推理(CounterFactual Reasoning)案例1案例2案例3 HAZOP: HAZARDS AND OPERABILITY STUDY案例1HAZOP 工作流程HAZOP 总结 Fault Tree AnalysisFault Tree 定义案例Node Symbolsanalysis outcomes 这节课主要介绍了高…

【Linux集锦01】CentOS的安装

Centos的安装 1.创建新的虚拟机2. 自定义3.下一步4.创建虚拟空白光盘5.安装Linux系统和Centos 7 发行版6.命名虚拟机名称和选择磁盘位置7.处理器配置 主要看自己的电脑的情况8.设置虚拟机内存9.网络设置 nat10.选择IO控制器类型11.选择磁盘类型12.创建新虚拟磁盘13.设置磁盘容量…

【MyBatis】2、MyBatis 的动态 SQL 和增删改操作

目录 一、添加(1) 基本插入(2) 设置新插入记录的主键&#xff08;id&#xff09;★ 二、更新三、删除四、动态 SQL(1) if 标签(2) where 标签(3) foreach 标签 五、起别名六、sql 标签七、在 MyBatis 中集成 druid 连接池 一、添加 (1) 基本插入 <mapper namespace"s…

qtcanpool 知 99:常见问题

文章目录 前言问题构建 fancydemo 报链接库错误 后语 前言 qtcanpool 是根据 qtcreator 整理出的一套通用的工程管理模板&#xff0c;同时集成一些常见的库和插件。就像 qtcanpool 名字一样&#xff0c;它是一个 qt 池&#xff0c;用户可以从中汲取所需。 对于初次使用 qtcan…