SSH в пакетном сценарии: stdin и интерактивные запросы проверяются отдельно
SSH способен читать стандартный ввод, что важно в сценарии, который сам получает список заданий через stdin. Без явного контракта одна удалённая команда может потребить данные, предназначенные следующему шагу локального цикла. Успех первого подключения при этом не подтверждает выполнение остальных заданий.
Опция -n либо StdinNull предотвращает чтение stdin клиентом. Она подходит только тогда, когда удалённой команде действительно не требуется этот поток. Для передачи данных через stdin такое отключение меняет назначение операции, поэтому универсально добавлять его ко всем вызовам нельзя.
BatchMode отключает пользовательское взаимодействие, включая запросы пароля и подтверждения host key. Это не создаёт доверие автоматически. Необходимые identities и легитимная идентичность узла должны быть подготовлены предусмотренным способом заранее; неинтерактивный режим должен давать понятный отказ, если условия входа не выполнены.
В приёмке используют несколько независимых тестовых заданий и проверяют, что входные записи не исчезают после первого SSH-вызова. Отдельно проверяют ожидаемый отказ без доступной аутентификации. Отсутствие видимого password prompt не подтверждает ни успешный вход, ни сохранность потока заданий пакетного обслуживания.
Основание — OpenSSH current OpenBSD manuals snapshot; portable release10.6 observed, not exact portable manual, разделы -n; StdinNull; BatchMode. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Удалённые узлы, ключи и файлы не проверялись; подключения, копирование и изменение прав не выполнялись. Версии и доступные параметры обеих сторон требуют подтверждения.












