Приложение А. Параметры диспетчера конфигурации SSH Proxy

Имя параметра

Описание

Примеры значений параметров

Примечание

nsso.server.welcome-banner

Текст приветственного баннера, который отображается у клиентов при подключении.

Простая строка – в этом случае ее содержимое представляет собой приветственный баннер.

URL - адрес или строка, содержащая «://».

nsso.server.welcome-banner-language

Язык баннера (используется, если баннер загружается из ресурсов).

ru, en

nsso.server.welcome-banner-phase

Момент отображения баннера

• IMMEDIATE - при подключении клиента (до любого обмена сообщениями);
• FIRST_REQUEST - баннер отправляется при первом запросе аутентификации (SSH_MSG_USERAUTH_REQUEST);
• FIRST_AUTHCMD - баннер отправляется при первой попытке аутентификации (например, publickey, password);
• FIRST_FAILURE - баннер отправляется после первой неудачной попытки аутентификации (SSH_MSG_USERAUTH_FAILURE);
• POST_SUCCESS - баннер отправляется только после успешной аутентификации пользователя;
• NEVER - баннер не отправляется даже если он настроен.

nsso.server.welcome-banner-charset

Если баннер загружается из файла или URL-ресурса, то можно настроить кодировку, используемую для преобразования содержимого файла в строку.

UTF-8, ISO-8859-1

nsso.server.auth-methods

Список разрешенных методов аутентификации, разделенных запятыми. 

publickey, password, keyboard-interactive, gssapi-with-mic

publickey,password: Разрешить аутентификацию по открытому ключу и паролю. publickey: Требовать только аутентификацию по открытому ключу.

nsso.server.max-auth-requests

Максимальное количество попыток аутентификации, которое клиент может предпринять за одно соединение, прежде чем сервер его отключит.

3

nsso.server.max-concurrent-sessions

Максимальное количество одновременно открытых сессий (каналов типа "session") для одного аутентифицированного SSH-соединения. Это не то же самое, что максимальное количество SSH-соединений с сервером.

10

nsso.server.moduli-url

Указывает URL или путь к файлу moduli. Этот файл содержит параметры для обмена группами Диффи-Хеллмана (простые числа и генераторы), используемые для обмена ключами.

file:///etc/ssh/moduli

nsso.server.server-identification

Строка идентификации сервера, отправляемая клиенту. Должна начинаться с SSH-2.0-.

SSH-2.0-InfraServer

nsso.server.server-extra-identification-lines

Список дополнительных строк, отправляемых сразу после основной строки идентификации сервера. '|' для обозначения разрыва строки.

One,two,three|shine, Christmas tree

nsso.server.kb-server-interactive-name

Название интерактивной сессии (отображается у клиента как заголовок).

Двухфакторная аутентификация (2FA)

nsso.server.kb-server-interactive-instruction

Инструкция или сообщение для пользователя, которое отображается перед конкретными запросами (промптами) или вместе с ними. Это поле предназначено для предоставления пользователю более подробной информации о том, что от него ожидается.

Внимание! Выполняется вход в защищенную систему. Пожалуйста, введите ваш код доступа.

nsso.server.kb-server-interactive-language

Языковой тег (IETF BCP 47) для имени и инструкций.

ru-RU, en-US, de

nsso.server.kb-server-interactive-prompt

Текст самого запроса (промпта), который отображается пользователю. В рамках одной keyboard-interactive сессии может быть несколько таких запросов. Может содержать {0}, {1} и т.д. для нумерации приглашений. Требуется настройка на стороне сервера.

• Введите ваш OTP-код:
• Ответ на контрольный вопрос #{0}: 

nsso.server.kb-server-interactive-echo-prompt

Булево значение (true/false), указывающее, должен ли клиент отображать ввод пользователя для приглашений в аутентификации "keyboard-interactive". Это глобальная настройка, если не переопределена конфигурацией конкретного приглашения.

false

false: для конфиденциального ввода, такого как пароли, OTP.
true: для не конфиденциального ввода, такого как имена пользователей.

nsso.server.nio-workers

Количество рабочих потоков NIO для обработки сетевого ввода-вывода. Эти потоки обрабатывают чтение запросов, запись ответов и управление соединениями.

Зависит от количества ядер ЦП.

по умолчанию Runtime.getRuntime().availableProcessors() + 1

nsso.server.nio2-read-timeout

Таймаут (в миллисекундах) для операций чтения NIO2. Если в течение этого периода на активном соединении не считываются данные, операция чтения может завершиться по таймауту.

30000 (30 секунд)

Для обнаружения "зависших" соединений.

nsso.server.nio2-min-write-timeout

Минимальный таймаут (в миллисекундах) для операций записи NIO2. Это помогает гарантировать, что операции записи не будут блокироваться на неопределенный срок.

30000 (30 секунд)

nsso.server.ssh-agent-server-proxy-auth-socket-timeout

Таймаут сокета (в миллисекундах) специально для фазы аутентификации. Отличается от nsso.server.auth-timeout. Применяется к сетевым операциям чтения/записи во время аутентификации.

120000 (2 минуты)

nsso.server.auth-timeout

Максимальное время (в миллисекундах), в течение которого клиент должен успешно аутентифицироваться после подключения. Если аутентификация не завершена за это время, сервер отключает клиента.

120000 (2 минуты)

nsso.server.idle-timeout

Максимальное время (в миллисекундах), в течение которого аутентифицированное SSH-соединение может оставаться неактивным (нет обмена данными), прежде чем сервер его отключит. Значение 0 или отрицательное означает отсутствие таймаута.

600000 (10 минут)

nsso.server.disconnect-timeout

Таймаут (в миллисекундах) для ожидания подтверждения клиентом сообщения об отключении (SSH_MSG_DISCONNECT), отправленного сервером, перед принудительным закрытием сокета.

10000 (10 секунд)

nsso.server.channel-close-timeout

Таймаут (в миллисекундах) для закрытия канала. Используется при ожидании подтверждения закрытия канала удаленной стороной (SSH_MSG_CHANNEL_EOF или SSH_MSG_CHANNEL_CLOSE).

5000 (5 секунд)

nsso.server.command-exit-timeout

Таймаут (в миллисекундах) для ожидания завершения команды после закрытия ее stdin и отправки EOF на канале. Если команда не завершается в течение этого периода, канал может быть принудительно закрыт.

5000 (5 секунд)

nsso.server.socket-backlog

Длина очереди ожидания для серверного сокета (listen backlog). Это максимальная длина очереди входящих соединений.

0

nsso.server.socket-keepalive

Булево значение (true/false) для включения/отключения TCP keep-alive (SO_KEEPALIVE) на базовом сокете. TCP keep-alive помогает обнаруживать "мертвые" соединения на уровне TCP.

false

nsso.server.socket-sndbuf

Размер (в байтах) буфера отправки сокета (SO_SNDBUF). Значение 0 или отрицательное означает использование значения по умолчанию ОС.

0

nsso.server.socket-rcvbuf

Размер (в байтах) буфера приема сокета (SO_RCVBUF). Значение 0 или отрицательное означает использование значения по умолчанию ОС.

0

nsso.server.socket-reuseaddr

Булево значение (true/false) для включения/отключения SO_REUSEADDR на серверном сокете. Это позволяет серверу привязываться к адресу/порту, который находится в состоянии TIME_WAIT.

true

true: Полезно для быстрых перезапусков сервера, предотвращая ошибки "Address already in use".

nsso.server.socket-linger

Таймаут задержки сокета (SO_LINGER) в секундах. Если положительное, при close() система попытается отправить все неотправленные данные в течение этого времени перед закрытием. Если 0, отправляется TCP RST, отбрасывая неотправленные данные. Если отрицательное, SO_LINGER отключен. -

1 (отключено)

nsso.server.tcp-nodelay

Булево значение (true/false) для включения/отключения TCP_NODELAY(алгоритм Нейгла). Включение TCP_NODELAY отключает алгоритм Нейгла, что может уменьшить задержку для небольших, частых пакетов, часто полезно для интерактивных SSH-сессий.

false

nsso.server.inverted-shell-wrapper-pump-sleep

Время сна (в миллисекундах) для циклов "прокачки" ввода-вывода, когда данные не доступны немедленно. Это актуально для некоторых внутренних механизмов обработки ввода-вывода.

1

nsso.server.inverted-shell-wrapper-buffer-size

Размер буфера по умолчанию (в байтах), используемый для различных операций ввода-вывода, таких как внутренняя буферизация для чтения из сокетов или обработки пакетов данных, если не переопределен более специфическими настройками буфера.

8192

nsso.client.client-identification

Строка идентификации, которую SSH-клиент отправляет серверу. Должна начинаться с SSH-2.0-.

SSH-2.0-InfraClient

nsso.client.send-immediate-identification

Булево значение. Если true, клиент отправляет свою строку идентификации немедленно после установки TCP-соединения, не дожидаясь строки идентификации от сервера. Может быть полезно для некоторых балансировщиков нагрузки.

false

nsso.client.send-immediate-kex-init

Булево значение. Если true, клиент отправляет свой пакет SSH_MSG_KEXINIT сразу после отправки своей строки идентификации, не дожидаясь SSH_MSG_KEXINIT от сервера. Это может ускорить установление соединения.

false

nsso.client.allow-dhg1-kex-fallback

Булево значение. Если true и первоначальный обмен ключами (KEX) с более сильными группами Диффи-Хеллмана (DH) не удался, клиент может попытаться откатиться к diffie-hellman-group1-sha1, если сервер его предлагает. Это не рекомендуется из-за слабости DH group 1.

false

nsso.client.kex-proposal-setup-timeout

Таймаут (в миллисекундах) для клиента на ожидание сообщения KEXINIT от сервера после отправки своей идентификации или KEXINIT.

42000 (42 секунд)

На начальном этапе установки SSH-соединения, во время ожидания пакета SSH_MSG_KEXINIT от сервера.

nsso.client.heartbeat-interval

Интервал (в миллисекундах), с которым клиент отправляет серверу keep-alive сообщение (например, SSH_MSG_GLOBAL_REQUEST для keepalive@openssh.com или SSH_MSG_IGNORE) для поддержания соединения. 0 или отрицательное значение отключает heartbeat.

0 (отключено)

Во время активной SSH-сессии, после успешной аутентификации, для поддержания соединения и проверки его состояния.

nsso.client.heartbeat-reply-wait

Время (в миллисекундах), которое клиент будет ждать ответа на свой keep-alive запрос. Если ответ (или другой трафик) не получен в течение этого времени, соединение считается разорванным. Актуально, если sshd.heartbeat-interval > 0.

5000 (5 секунд)

5000 (5 секунд): если heartbeat-interval установлен, например, в 60 секунд. Дает серверу 5 секунд на ответ.

nsso.client.ignore-invalid-identities

Булево значение. При загрузке нескольких приватных ключей для аутентификации по открытому ключу.

• true: (по умолчанию) для обеспечения загрузки всех валидных ключей, даже если некоторые из них повреждены.
• false: для строгого контроля и немедленного уведомления об ошибках в файлах ключей.

nsso.client.abort-on-invalid-certificate

Если используется KEX или аутентификация хоста на основе X.509 сертификатов, клиент проверяет валидность сертификата сервера. Этот флаг определяет, будет ли соединение прервано при ошибке валидации.

• true: (по умолчанию) для строгой проверки сертификатов сервера и прерывания соединения при обнаружении проблем.
• false: если требуется специфическая обработка невалидных сертификатов (например, логирование, но продолжение работы).

nsso.client.kb-client-interactive-language-tag

Языковой тег (IETF BCP 47) для имени и инструкций.

ru-RU, en-US, de

nsso.client.kb-client-interactive-sub-methods

Список подметодов (через запятую), которые клиент готов использовать в рамках "keyboard-interactive" аутентификации. Это зависит от того, как сервер структурировал свои keyboard-interactive вызовы.

""

nsso.client.stdin-pump-chunk-size

Размер чанка (в байтах), используемый InputStreamPump при передаче данных из InputStream в выходной поток канала (например, для STDIN в exec или shell канале).

1024

nsso.client.channel-exec-want-reply

Булево значение. Для запросов канала "exec" указывает, запрашивает ли клиент ответ от сервера об успехе или неудаче настройки выполнения команды (SSH_MSG_CHANNEL_SUCCESS или SSH_MSG_CHANNEL_FAILURE).

• true: (по умолчанию) клиент будет ждать подтверждения от сервера, что команда принята к исполнению (или отклонена), прежде чем начать передавать STDIN или ожидать STDOUT/STDERR.
• false: клиент не ждет подтверждения.

nsso.client.channel-shell-want-reply

Булево значение. Для запросов канала "shell" указывает, запрашивает ли клиент ответ от сервера.

• true: (по умолчанию) клиент ждет подтверждения, что запрос на оболочку принят или отклонен.
• false: клиент не ждет подтверждения.

nsso.client.channel-subsystem-want-reply

Булево значение. Для запросов канала "subsystem" указывает, запрашивает ли клиент ответ от сервера.

• true: (по умолчанию) клиент ждет подтверждения для запроса подсистемы (например, "sftp").
• false: клиент не ждет подтверждения.

nsso.client.nio-workers

Количество рабочих потоков NIO, используемых клиентом для обработки сетевого ввода-вывода для всех исходящих соединений и последующего обмена данными.

Runtime.getRuntime().availableProcessors() + 1

nsso.client.nio2-read-timeout

Таймаут (в миллисекундах) для операций чтения NIO2 на установленных клиентских сессиях.

1200000 (20 минут)

1200000 (20 минут): если ожидаются длительные периоды отсутствия данных от сервера, но сессия должна оставаться активной.<br>- Использовать совместно с sshd.heartbeat-interval для поддержания активности.

nsso.client.nio2-min-write-timeout

Минимальный таймаут (в миллисекундах) для операций записи NIO2 на установленных клиентских сессиях.

30000 (30 секунд)

nsso.client.ssh-agent-server-proxy-auth-socket-timeout

Таймаут сокета (в миллисекундах) специально для фазы аутентификации соединения клиента с сервером.

120000 (2 минуты)

nsso.client.auth-timeout

Максимальное время (в миллисекундах), в течение которого клиент должен завершить процесс аутентификации с сервером после установки соединения.

120000 (2 минуты)

nsso.client.idle-timeout

Максимальное время (в миллисекундах), в течение которого аутентифицированное SSH-соединение может оставаться неактивным (нет обмена данными), прежде чем сервер его отключит. Значение 0 или отрицательное означает отсутствие таймаута.

600000 (10 минут)

nsso.client.io-connect-timeout

Таймаут (в миллисекундах) для клиента на установку TCP/IP соединения с SSH-сервером.

60000 (1 минута)

nsso.client.channel-close-timeout

Таймаут (в миллисекундах) для закрытия канала, инициированного клиентом. Используется при ожидании подтверждения закрытия канала удаленной стороной.

5000 (5 секунд)

nsso.client.stop-wait-time

Максимальное время (в миллисекундах), которое клиент SshClient будет ждать для завершения активных сессий и каналов при вызове метода SshClient.stop().

60000 (1 минута)