我可以将服务器分组到known_hosts文件中吗?

我可以将服务器分组到known_hosts文件中吗?

我想知道是否有办法在 known_hosts 文件中对服务器进行分组

像这样:

[AWS]
11.xx.x.1 ecdsa-sha2-nistp256 xxxx=
11.xx.x.2 ecdsa-sha2-nistp256 yyyy=
11.xx.x.3 ecdsa-sha2-nistp256 zzzz=

[ALIBABA]
12.xx.x.1 ecdsa-sha2-nistp256 1321=
12.xx.x.2 ecdsa-sha2-nistp256 1244=
12.xx.x.3 ecdsa-sha2-nistp256 2412=

[AZURE]
10.xx.x.1 ecdsa-sha2-nistp256 xxxx=
10.xx.x.2 ecdsa-sha2-nistp256 yyyy=
10.xx.x.3 ecdsa-sha2-nistp256 zzzz=

答案1

是的,但只能使用#注释。格式没有 INI 样式的 [部分]。

例如:

# AWS
11.xx.x.1 ecdsa-sha2-nistp256 xxxx=
11.xx.x.2 ecdsa-sha2-nistp256 yyyy=
11.xx.x.3 ecdsa-sha2-nistp256 zzzz=

# Alibaba
12.xx.x.1 ecdsa-sha2-nistp256 1321=
12.xx.x.2 ecdsa-sha2-nistp256 1244=
12.xx.x.3 ecdsa-sha2-nistp256 2412=

# Azure
10.xx.x.1 ecdsa-sha2-nistp256 xxxx=
10.xx.x.2 ecdsa-sha2-nistp256 yyyy=
10.xx.x.3 ecdsa-sha2-nistp256 zzzz=

新条目将不会自动转到正确的组;客户端总是将它们附加在最后(因此# Misc在那里放置一个单独的部分)。


替代方案:你可以多种的known_hosts 文件,根据 ~/.ssh/config 中的主机选择一个:

Host 11.xx.x.*
    UserKnownHostsFile ~/.ssh/known_hosts.aws

Host 12.xx.x.*
    UserKnownHostsFile ~/.ssh/known_hosts.alibaba

这将允许 ssh 客户端自动将新条目写入正确的文件。

相关内容