Я хотел избавиться от некоторых предупреждений, которые я получаю, когда запускаю автоматизированную среду сборки (точнее, 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 ответ1

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)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .