自动将主机和 IP 添加到已知主机

自动将主机和 IP 添加到已知主机

我想摆脱运行自动构建环境(确切地说是 Scrutinizer-CI)时收到的一些警告。

通过深入研究,我发现了这个解决方案,可以将其添加到准备容器的脚本中:

ssh-keyscan -H -p 1234 domain.tld >> ~/.ssh/known_hosts

看起来这不是最好的办法。不知道这是否是安全问题,但关于主机的警告已经消失了。

问题是我仍然收到域名解析 IP 的警告。

我想这会解决这个问题 ssh-keyscan -H -p 1234 123.231.321.213 >> ~/.ssh/known_hosts

但是如果我不知道 IP,或者主机并不总是解析为相同的 IP,该怎么办?

我可以编写一些命令/脚本来解析 IP 并将其传递给上述脚本吗?

答案1

您可以使用dig来获取 IP,然后将其传递给ssh-keyscan

xargs 示例:

dig -t a +short www.yahoo.com | grep ^[0-9] | xargs -r -n1 ssh-keyscan -H -p 1234 >> ~/.ssh/known_hosts

for 循环示例:

for ip in $(dig -t a +short www.yahoo.com | grep ^[0-9]); do ssh-keyscan -H -p 1234 $ip; done >> ~/.ssh/known_hosts

-Rich Alloway(RogueWave)

相关内容