我们设置了2个基于Redhat的服务器,这些服务器都是虚拟ip后面的ha主机.
> 192.168.0.3 dataserver(虚拟ip)
> 192.168.0.1 dataserver_ha1(物理服务器)
> 192.168.0.2 dataserver_ha2(物理服务器)
使用drdb和heartbeat设置为将一个主机作为主要主机运行,另一个主机处于备用状态.如果主服务器失败,则备用服务器成为主服务器并接管…
在这方面非常标准.
我们的日志处理服务器(etl_server)sshes到dataserver并运行每小时进程.
我们使用ssh_keys进行连接(尽管这不是重要信息).
当dataserver_ha1故障转移到ha2时,由于有关已更改主机密钥的中间人警告,etl_server无法再连接.
AFAIK我可以做一些事情:
1)严格检查ssh客户端(不想这样做)
2)在客户端的authorized_keys文件中为两个物理主机密钥添加条目
3)镜像所有/ etc / sshd / hosts *文件
但我觉得我应该能够告诉主机通知ssh客户端请求可能使用两个允许的主机密钥之一.当我得到一点时间后,我将使用VirtualBox或其他东西来测试它.在此期间,我正在寻找错误的地方以获取有关此信息的信息……
解决方法
在两个数据服务器上使用相同的私钥.
来自初级……
scp / etc / ssh / * key * dataserver_ha2:/ etc / ssh /
然后,使用service sshd restart重新启动dataserver_ha2上的ssh守护程序.
这将以最快,最干净的方式处理您的主机身份问题.