SSH是一种安全且十分高效的远程访问方式,如果用户要想在香港云服务器上进行数据库连接管理,可以使用ssh连接,它不仅能够安全的连接到远程服务器,还能够利用SSH隧道访问远程数据库,并且还不会直接暴露数据库端口,安全性非常高。下面我们就来聊一聊,到底该怎么通过ssh连接到香港云服务器上访问数据库。
首先我们需要知道为什么建议使用SSH连接数据?前面我们也提到了SSH是一种很常见的远程访问方式,在云服务器环境中,直接开放数据库的端口很可能会带来安全风险,黑客可能暴力破解或者sql注入攻击数据库,如果用户是直接通过公网访问数据库,数据还可能在传输过程中被截获,影响数据安全性。但是通过SSH,我们就可以进一步的降低风险,提高安全性。
那么在使用ssh连接远程数据库时,有哪些准备呢?我们需要准备一台香港云服务器,然后确保已经安装且运行数据库,数据库用户具备远程访问权限,然后还需要再本地计算上安装SSH客户端。下面就可以进行下一步操作,建立SSH连接远程数据库的几种方式。
方法一、使用SSH隧道连接 MySQL
1. 如果你的本地环境是MacOS、Linux 或安装了OpenSSH 的Windows终端,可以使用以下命令建立 SSH 隧道:
ssh -L 3307:127.0.0.1:3306 user@your-server-ip -p 22
解释:
-L 3307:127.0.0.1:3306:将本地 3307 端口映射到远程 3306 端口。
user@your-server-ip:SSH 登录到香港云服务器。
-p 22:指定 SSH 端口(默认22)。
成功连接后,在本地 MySQL 客户端(如 Navicat、DBeaver 或命令行)输入:
mysql -h 127.0.0.1 -P 3307 -u your_db_user -p
这样,MySQL 连接将通过 SSH 隧道传输,而不会直接暴露远程数据库端口。
2. 如果你使用 Windows,可以使用 PuTTY 设置 SSH 隧道:
- 打开 PuTTY,在 Host Name 处输入 your-server-ip,端口设置为 22.
- 在左侧导航栏,进入 Connection → SSH → Tunnels。
- 在 Source Port 输入 3307.在 Destination 输入 127.0.0.1:3306.
- 点击 Add,然后返回 Session,点击 Save 保存配置。
- 点击 Open 连接服务器,输入 SSH 账号和密码(或密钥)。
完成后,在本地 MySQL 客户端连接 127.0.0.1:3307.即可访问远程 MySQL 数据库。
方法二、直接通过SSH远程执行数据库查询
如果只需要远程执行 SQL 语句,而不想配置 SSH 隧道,可以直接在 SSH 终端输入 SQL 命令。例如,在 SSH 连接后,执行:
mysql -u your_db_user -p -h 127.0.0.1 -P 3306 -D your_database
然后输入 SQL 语句,如:
SELECT * FROM users LIMIT 10;
方法三、通过MobaXterm访问数据库
MobaXterm 是 Windows 平台下的一个强大远程管理工具,它支持 SSH 隧道并内置了数据库管理功能:
- 打开 MobaXterm,点击 Session → SSH,输入服务器 IP。
- 勾选 Enable SSH gateway (jump host),并输入 SSH 账号。
- 在 "Port Forwarding" 选项中添加映射,本地端口 3307 指向远程 127.0.0.1:3306.
- 点击 Connect,建立 SSH 连接后,即可在 MobaXterm 终端中使用 MySQL 客户端查询数据库。
为了提高远程数据库访问的安全性,建议禁止直接开放数据库端口,修改数据库配置文件中的 bind-address 选项,让MySQL仅监听本地连接。
使用密钥认证SSH连接,默认使用密码登录 SSH 存在被暴力破解的风险,建议使用SSH密钥认证方式,并禁止密码登录
如果 SSH 连接只允许特定IP访问,可在防火墙中添加规则。例如,允许仅特定 IP 访问SSH。
如果你在香港云服务器上管理数据库,建议采用SSH连接方式,同时结合SSH密钥认证和防火墙规则,可以确保数据安全、访问稳定,并避免不必要的安全风险。