lb20309 发表于 2018-9-30 12:40:27

Windows平台使用Navicat for MySQL通过SSH密钥认证连接远程MySQL数据库

  使用场景:
  1、MySQL数据库的管理员账号只允许本地登录
  2、应用程序连接账号只允许程序部署服务器所属IP地址连接
  实现方法:
  客户端工具通过无密码SSH密钥对连接到MySQL数据库所在服务器,再通过数据库相应的账号在服务器本地登录。
  1、安装ssh相关程序包
  yum -y install openssh-clients   #ssh-copy-id命令
  2、在本地机器上使用ssh-keygen产生公钥私钥对
  $ ssh-keygen
  3、用ssh-copy-id将公钥复制到远程机器中
  -i:指定公钥文件
  #pgmaster1
  $ 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数据库所属服务器地址,系统登录账号(为了系统安全也可使用其他具有登录权限的用户),验证方法选择“公钥”,在“私钥”出选择上述下载保存的私钥文件,密码短语随便填写,选中“保存密码短语”即可。

  测试成功。

页: [1]
查看完整版本: Windows平台使用Navicat for MySQL通过SSH密钥认证连接远程MySQL数据库