在 sshknown_hosts 中为许多服务器 ID 提供相同公钥的紧凑方法

在 sshknown_hosts 中为许多服务器 ID 提供相同公钥的紧凑方法

known_hosts 文件的条目格式如下:

{server-id} {signature-algorithm} {public-key-string} {comment}

我使用的系统有许多共享相同的机器{公钥字符串}但有很多,几乎 7000 个不同的{服务器 ID},我想知道是否可以使条目更紧凑?

我知道我可以指定所有这些以逗号分隔,例如:

{server-id1},{server-id2},... {signature-algorithm} {public-key-string} {comment}

但有近 7000 个这样的 {server-ids} 及其 IP 和别名。

{server-ids} 的命名模式类似于:

a01b01c01d01
a01b01c01d02
...
a01b01c02d01
...
a08b11c06d12

known_hosts 是否有一些紧凑的语法可用?例如:

a[01-08]b[01-11]c[01-06]d[01-12] {signature-algorithm} {public-key-string} {comment}

有人能告诉我如何实现这一目标吗?

答案1

提交问题后,我注意到 sshd 手册中有一个类似文件(ssh_known_hosts)的条目。

man sshd

手册指出:

主机名是一个以逗号分隔的模式列表(“*”和“?”充当通配符);每个模式依次与规范主机名(对客户端进行身份验证时)或用户提供的名称(对服务器进行身份验证时)进行匹配。模式前面也可以带有 '!'指示否定:如果主机名与否定模式匹配,则即使它与该行中的另一个模式匹配,也不会(被该行)接受。主机名或地址可以选择括在“[”和“]”括号内,然后跟“:”和非标准端口号。

由于 ssh_known_hosts 的文件格式与known_hosts 匹配,因此我的问题的答案是使用通配符:

a0?b??c0?d??,192.168.*.* {signature-algorithm} {public-key-string} {comment}

然而,这仍然不仅仅限制我想要的值,因此如果有人知道如何进一步限制它,请告诉我。

a0?b?c0?d??也可以是 a0ibx3c0wdxy

相关内容