Автоматизировать добавление хоста и 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
Богатый Аллоуэй (RogueWave)