使用场景:
1、MySQL数据库的管理员账号只允许本地登录
2、应用程序连接账号只允许程序部署服务器所属IP地址连接
实现方法:
客户端工具通过无密码SSH密钥对连接到MySQL数据库所在服务器,再通过数据库相应的账号在服务器本地登录。
1、安装ssh相关程序包
yum -y install openssh-clients #ssh-copy-id命令
2、在本地机器上使用ssh-keygen产生公钥私钥对
[root@cos68srv~]$ ssh-keygen
3、用ssh-copy-id将公钥复制到远程机器中
-i:指定公钥文件
#pgmaster1
[root @cos68srv~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.100.100
4、将root用户私钥下载保存在本地
便于管理按照IP地址分类命名,同时放到Navicat工具的rsa_keys目录下
5、登录到远程机器不用输入密码
数据库存在管理员账号sysadmin,但只能在本地服务器登录
打开Navicat工具连接远程MySQL服务
在“常规”页面按正常连接MySQL服务的配置填写,只是地址使用localhost/127.0.0.1
在“SSH”页面填写MySQL数据库所属服务器地址,系统登录账号(为了系统安全也可使用其他具有登录权限的用户),验证方法选择“公钥”,在“私钥”出选择上述下载保存的私钥文件,密码短语随便填写,选中“保存密码短语”即可。
测试成功。