我想摆脱运行自动构建环境(确切地说是 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)