SSH channel window: непрочитанный stderr способен задержать команду
Фотография конкретного исполнения не приложена.
Автоматизация может ждать завершения команды и читать только её основной вывод. При большой диагностике такой подход способен остановить прогресс. Нужно учитывать буферы библиотеки и оба вида данных удалённой программы.
RFC 4254 определяет channel window и отдельный maximum packet size. Extended data, включая предусмотренный stderr, расходуют то же окно, что обычные channel data. Поэтому диагностический поток не является бесконечным независимым каналом, который можно без последствий игнорировать.
Channel credit не равен TCP receive window или полосе сети. Быстрый transport не устранит ожидание, если приложение не освобождает приёмные ресурсы библиотеки. Конкретная стратегия чтения и внутреннего буферирования зависит от используемого клиента.
В приёмке проверяют команду с большим stdout и stderr одновременно. Сопоставляют чтение потоков, window adjustments и получение exit status. Отчёт должен показывать прогресс при целевом объёме диагностики. Успешный короткий тест с пустым stderr не подтверждает устойчивость автоматизации при реальном аварийном выводе удалённого процесса.
Основание — Numbered SSH RFCs with historical base mechanics and scoped later extensions; not complete current cryptographic allowlist, разделы RFC4254 5.2 Data Transfer; extended data and window adjustment. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Основание — указанные номерные RFC SSH. Базовые документы 2006 года используются для семантики протокола, а не как полный актуальный список разрешённых алгоритмов. Реальные версии клиента/сервера, ключи и политика доступа не проверялись; команды, подключения и forwarding не выполнялись.