主要思路:
通过ssh隧道将远程服务器局域网中的地址关联到本地ip的某个端口,具体流程如下:
ssh -L 127.0.0.1:6666:数据库服务内网ip地址:数据库服务端口号 远程服务器用户@远程服务器地址
其中 127.0.0.1:6666可以自定义为没被占用的地址和端口
示例:
在terminal中输入如下指令
ssh -L 127.0.0.1:6666:192.168.1.98:3306 root@120.10.110.66
然后新打开一个terminal窗口连接数据库
mysql -h 127.0.0.1 -u root -p --port 6666
即可连接上120.10.110.66这个地址的局域网ip为192.168.1.98机器上的mysql服务
补充说明:
如果想要让ssh 隧道以后台模式运行并且不访问远程地址可以ssh tunnel的参数
ssh -N -F -L 127.0.0.1:6666:192.168.1.198:3306 root@120.10.110.66
-N:不连接远程地址
-F:后台模式运行
建议:
以后台模式运行,记得连接完了后杀掉sshd的进程,防止ssh隧道一直存在影响其他方面的mysql操作
参考:
https://segmentfault.com/q/1010000017385157
https://zhuanlan.zhihu.com/p/82149204