前言
服务器上部署了 mysql,本地希望能访问该 mysql,但是又不希望 mysql 直接暴露在公网上
那么可以通过隧道连接 ssh 端口的方式进行连接
从外网看,服务器只开放了一个 ssh 端口,并没有开放 3306 监听端口
设置本地免密登录
这个之前写过,有不清楚的可以看 这里
设置好之后,本地就不需要密码,直接 ssh root@xx.xx.xx.xx
登录到服务器了
建立隧道
本地使用以下命令,来通过 ssh 建立本地到服务器的一个连接通道,将本地的 33060 映射到服务器的 3306 端口
连接本地的 33060 端口,就相当于连接了服务器的 3306 端口
如果需要更详细的输出日志,可以增加 ssh 的参数 -v
或 -vv
、-vvv
,v 越多日志越详细
ssh -N -v -L 33060:127.0.0.1:3306 user@your_server_ip
建议不需要带 v 参数,都是 ssh 的日志,也没什么看的,不带 v 是没有日志输出的
本地连接数据库
在上面隧道建立起来之后,运行 dbeaver,配置连接本地的 33060 端口
输入数据库的账号密码,点击测试连接显示已连接