我有一个脚本需要连接到高可用性集群的当前活动头。
集群中的每个节点都有固定的主机名和 IP 地址。
当前头部还具有“虚拟IP”。在切换或故障转移的情况下,另一个节点配置“虚拟 IP”并开始充当头部。
我可以将我的脚本指向虚拟 IP 吗?ssh
当集群将虚拟 IP 移动到不同的节点时,不会抱怨主机密钥不匹配吗?
是的,这是可能的。
sshd(8)
(来自 OpenSSH)指定known_host
文件的格式(在 部分SSH_KNOWN_HOSTS FILE FORMAT
):
执行主机认证时,如果任何匹配的行具有正确的密钥,则接受认证;[…]
允许(但不推荐)为相同的名称使用多行或不同的主机密钥。 当来自不同域的短形式的主机名放入文件时,这将不可避免地发生。这些文件可能包含冲突信息;如果可以从任一文件中找到有效信息,则接受身份验证。
因此,您只需将两个 HA 头的主机密钥添加到您的~/.ssh/known_hosts
或/etc/ssh/ssh_known_hosts
:
203.0.113.50 ssh-rsa AAAAB3NzaC1yc2…6Yh5sHpkyIZvXLB
203.0.113.50 ssh-rsa AAAAB3NzaC1yc2…R0RNVnMB6C4plFr
Run Code Online (Sandbox Code Playgroud)
并且ssh
会毫无怨言地连接到他们两个。