Назад | Перейти на главную страницу

Можно ли установить тайм-аут для команды openssl s_client?

У меня есть сценарий, который использует команду openssl s_client для получения сертификатов для большого набора хостов. Некоторые из этих хостов неизбежно будут недоступны из-за брандмауэра. Можно ли установить время ожидания s_client на что-то намного меньшее, чем значение по умолчанию? Я не вижу такого на странице руководства / файле справки.

Эта или какая-то команда-оболочка, которая автоматически убьет openssl -s_client через X секунд.

Я бы предпочел не тестировать хост / порт на удобство использования, если это возможно.

Используйте команду тайм-аута из пакета GNU coreutils.

timeout <time> <command>

Или посмотрите на первый ответ на это заархивированное сообщение в блоге для ответа только на bash.

для первого цикла: пока читаем servername; делаем

timeout 2 bash -c "/ dev / tcp / $ servername / $ Port" && echo Порт открыт. || echo Порт закрыт.

сделано

Но с открытыми портами сложнее: тайм-аут 1 openssl s_client -showcerts -connect $ servername: $ Port