我想知道是否有办法在 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 客户端自动将新条目写入正确的文件。