Linux系统下MySQL通过SSH配置远程访问
需积分: 14 188 浏览量
更新于2024-09-25
1
收藏 3KB TXT 举报
"该文档是关于在Linux系统中配置MySQL通过SSH进行安全连接的教程,主要涉及SSH密钥对的生成、复制以及设置MySQL的权限,以实现远程访问。"
在Linux环境中,为了确保数据库如MySQL的安全访问,通常会采用SSH(Secure Shell)进行加密的远程连接。本配置文档主要介绍了如何在两个Linux主机之间建立SSH隧道,以便通过本地机器安全地访问远程MySQL服务器。
首先,你需要在本地主机上生成SSH公钥和私钥对。这可以通过运行`ssh-keygen`命令来完成,它将创建`id_rsa`(私钥)和`id_rsa.pub`(公钥)文件。公钥需要复制到远程MySQL服务器上,可以通过`ssh-copy-id`命令完成,例如:`ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.189.139`。这样,本地机器就可以使用SSH密钥对无密码登录到远程服务器。
配置SSH隧道的关键步骤是使用`ssh`命令建立端口转发。在本例中,本地机器的3388端口被映射到远程MySQL服务器的3306端口,命令如下:
```bash
ssh -N -f -L 3388:192.168.189.139:3306 root@192.168.189.139
```
这里,`-N`表示不执行远程命令,`-f`使ssh后台运行,`-L`指定本地端口转发。现在,你可以通过本地的3388端口连接到远程的MySQL服务器,而无需暴露3306端口给外部网络。
为了允许本地机器通过SSH隧道访问MySQL,还需要在远程MySQL服务器上设置相应的用户权限。例如,创建一个名为'fc'的用户,并赋予其从特定IP(192.168.189.133)访问所有数据库的SELECT权限:
```sql
GRANT SELECT ON *.* TO 'fc'@'192.168.189.133' IDENTIFIED BY '111111';
```
最后,你可以使用`mysql`客户端工具,通过指定 `-u fc`, `-P 3388`, `-h 127.0.0.1` 和 `-p111111` 参数,连接到远程MySQL服务器。例如:
```bash
mysql -u fc -P 3388 -h 127.0.0.1 -p111111
```
此配置完成后,你可以在本地安全地与远程MySQL服务器交互,同时保护了数据库免受未经授权的访问。
注意,为了监控SSH隧道是否正常工作,可以使用`netstat`命令检查端口状态。如文档所示,`netstat -tulnp | grep 3388` 和 `netstat -an | grep 192.168.189.139` 可以查看本地3388端口的监听状态和确认TCP连接是否建立。
通过SSH配置MySQL连接是一种增强安全性的方式,它可以防止敏感数据在传输过程中被截获,并且只允许特定的客户端访问数据库。这个过程包括了SSH密钥对的生成、复制,端口转发的设置,以及MySQL的权限管理。正确执行这些步骤,可以确保你的MySQL数据库在远程访问时保持安全。
2010-01-14 上传
2016-05-25 上传
2019-09-19 上传
点击了解资源详情
点击了解资源详情
2024-11-18 上传
2022-09-24 上传
holy_yezi
- 粉丝: 29
- 资源: 136
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用