SSH 主机密钥用于区分被监控的主机,不能有重复的SSH 密钥。如果克隆服务器,则可以复制密钥。本节介绍如何更改特定主机的 SSH 主机密钥,消除检测到重复主机时生成的事件和警报。
必须执行以下步骤:
为受监控主机生成新的 SSH 密钥。
编辑监控代理的配置。
在 UNIX、Linux 和 macOS 平台上,使用该
ssh-keygen
实用程序。在 Microsoft Windows 平台上,有多种工具,但本示例使用
puttygen
.
要为受监控主机生成新的 SSH 密钥,请执行以下操作:
识别重复的 SSH 密钥。
在每个被监控的主机上,运行以下命令打印出 SSH 公钥指纹:
ssh-keygen -l -f /etc/ssh/ssh_host_key.pub ssh-keygen -l -f /etc/ssh/ssh_host_dsa_key.pub ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
并比较每个服务器之间的指纹。使用以下说明删除现有密钥并使用重复密钥为每个服务器重新生成密钥。
在受监控的主机上,删除现有的重复 SSH 密钥。例如:
sudo rm -f /etc/ssh/ssh_host_*
在受监控的主机上,重新生成 SSH 密钥。此操作要求您在下次连接时将这些主机中的每一个添加到您的 SSH 密钥环中。例如:
sudo ssh-keygen -f /etc/ssh/ssh_host_key -N '' -t rsa1 sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa sudo ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
如果使用
puttygen
,请单击 生成并按照屏幕上的说明进行操作。笔记The key can be generated using RSA (SSH1 or SSH2), DSA, or ECDSA. All are supported by MySQL Enterprise Monitor.
Restart your sshd server.
-
Note
This step is required on MySQL 5.5 instances, only. It is not required on any version of MySQL 5.6, or higher.
On the monitored MySQL instance, edit the
hostid
value:mysql> UPDATE mysql.inventory SET VALUE = 'ssh:{New SSH Fingerprint}' WHERE name = 'hostId';
Restart the monitoring agent.