ssh隧道远程连接mysql


有时候比如一些云主机,没有开放3306端口,这里可以用ssh隧道来连接数据库,更加安全

注意点:

1.本地ssh可以登录远程服务器,(密码或者秘钥)

2.远程数据库需要赋权限给隧道端的ip

命令:

ssh -NCPf root@111.111.111.111 -L 3388:192.168.1.1:3306

参数:

-C    使用压缩功能,是可选的,加快速度。 
-P    用一个非特权端口进行出去的连接。 
-f    一旦SSH完成认证并建立port forwarding,则转入后台运行。 
-N    不执行远程命令。该参数在只打开转发端口时很有用(V2版本SSH支持)

这里的root@111.111.111.111是连接远程服务器的用户名和IP

-L 3388:192.168.1.1:3306  这里表示建立的隧道,3388是本机端口,通过3388和远程服务器建立隧道,192.168.1.1是内网ip,可以用127.0.0.1,当然也可以用外网ip,这里要注意数据库要给这个ip赋权,因为隧道连接实际上就是数据库连接的这个ip ,后面的是远程数据库的端口

这个命令在本地运行

运行这个命令会在本地机器上开启3388端口

ss和nestat 和lsof可以看到,开启了127.0.0.1:3388

连接:

本地装好mysql客户端

mysql -u用户名 -P 3388 -h127.0.0.1 -p密码

恭喜你登陆了

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM