2022 年 2 月更新:此问题可能已在更新的版本中得到修复。请参阅有关已接受解决方案的评论。
概括:
Navicat 中与远程数据库的现有连接正在使用 SSH > 主机字段的域名。在建立一个新的远程服务器并将域指向新的 IP 地址(并设置数据库和用户,以及将您的公共 RSA 密钥添加到新服务器)之后,Navicat 不信任来自服务器的密钥哈希。替换条目~/.ssh/known_hosts
没有帮助。
重现步骤:
- 将远程数据库的域指向一个新的 IP 地址
- 将您的 RSA 公钥添加到远程服务器上的授权密钥
- 在远程服务器上添加远程数据库和用户
- 在终端中,使用域 ssh 进入新的远程服务器,然后按照提示将新服务器添加到 known_hosts 文件
- 在 Navicat(特别是 Navicat Essentials for PostGreSQL,但此问题将适用于 Mac 上 Navicat 套件中的任何应用程序)中编辑与远程服务器的现有连接
- 在“编辑连接...”窗口的 SSH 选项卡上,单击“测试连接”
预期的:
- Navicat 使用更新的 ~/.ssh/known_hosts 文件来授权连接到远程服务器
实际的:
- Navicat 无法连接
错误:
The server key has changed. Either you are under attack or the administrator changed the key.
New server key hash:...
问题:
如何让 Navicat 接受新的 known_hosts 数据并授权连接?