Файл /etc/ssh/sshd_config#

sshd_config - это файл конфигурации службы OpenSSH. sshd (подробнее см. в «Демон sshd») считывает данные конфигурации из /etc/ssh/sshd_config или файла, указанного с помощью опции -f в командной строке. Файл sshd_config содержит пары «ключ-значение», по одной на строку. Строки, начинающиеся с #, и пустые строки интерпретируются как комментарии. Значения (или аргументы), содержащие пробелы, должны быть заключены в двойные кавычки ". Для значений, не содержащих пробелы, это условие необязательно.

Внимание

Ключевые слова (ключи) не чувствительны к регистру, а значения (аргументы) наоборот.

Пример sshd_config:

Include /etc/crypto-policies/back-ends/opensshserver.config
SyslogFacility AUTHPRIV
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
PrintMotd no

Некоторые возможные ключевые слова и их значения:

  • AuthorizedKeysFile – указать файл, содержащий открытые ключи, используемые для аутентификации пользователя. Дополнительную информацию о форматах файла можно получить с помощью команды man -S 8 sshd, раздел «AUTHORIZED Значения AuthorizedKeysFile интерпретируются как абсолютный путь или путь относительно домашнего каталога пользователя. Можно указать несколько файлов, разделенных пробелом. В качестве альтернативы для этого параметра можно установить значение none, чтобы пропустить проверку пользовательских ключей в файлах. В качестве значений по умолчанию используются файлы .ssh/authorized_keys и .ssh/authorized_keys2.

  • CASignatureAlgorithms – указать разрешенные алгоритмы для подписания сертификатов центрами сертификации. Настройки по умолчанию обрабатываются в рамках политик системы. Если список указанных значений начинается с символа +, то алгоритмы будут добавлены к набору по умолчанию, если с символа -, то удалены из него. Сертификаты, подписанные с использованием других алгоритмов, не будут приниматься для аутентификации.

  • ChallengeResponseAuthentication – указать, разрешена ли аутентификация запрос-ответ (например, через PAM или с помощью схем аутентификации, поддерживаемых в описании классов ОС). Значение по умолчанию — yes.

  • Ciphers – указать разрешенные шифры.Настройки по умолчанию обрабатываются в рамках политик системы. Несколько шифров должны быть разделены запятыми. Если указанный список значений начинается с символа +, то указанные шифры будут добавлены к встроенному набору OpenSSH по умолчанию, если с символа -, то указанные шифры будут удалены из набора по умолчанию. Если указанный список значений начинается с символа ^, то указанные шифры будут помещены в начало набора по умолчанию.

    Поддерживаемые шифры:

    • 3des-cbc;

    • aes128-cbc;

    • aes192-cbc;

    • aes256-cbc;

    • aes128-ctr;

    • aes192-ctr;

    • aes256-ctr;

    • aes128-gcm@openssh.com;

    • aes256-gcm@openssh.com;

    • chacha20-poly1305@openssh.com.

    Список доступных шифров также можно получить с помощью команды ssh -Q cipher.

  • GSSAPIAuthentication – указать, разрешена ли аутентификация пользователя с помощью GSSAPI. Значение по умолчанию – no.

  • GSSAPICleanupCredentials – указать, требуется ли автоматически удалять кеш учетных данных пользователя при выходе из системы. Значение по умолчанию – yes.

  • GSSAPIKexAlgorithms – указать список алгоритмов обмена ключами, которые принимаются GSSAPI. Данное ключевое слово применимо только к соединениям, использующим GSSAPI.

    Возможные значения:

    • gss-gex-sha1-;

    • gss-group1-sha1-;

    • gss-group14-sha1-;

    • gss-group14-sha256-;

    • gss-group16-sha512-;

    • gss-nistp256-sha256-;

    • gss-curve25519-sha256-.

    Настройки по умолчанию обрабатываются в рамках политик системы.

  • HostKeyAlgorithms – указать алгоритмы подписи ключей хоста, предлагаемые сервером. Список доступных алгоритмов подписи по умолчанию можно получить с помощью команды ssh -Q HostKeyAlgorithms. Настройки по умолчанию обрабатываются в рамках политик системы.

  • Include – включить указанные файлы конфигурации. В качестве значений можно указать несколько путей к файлам. Каждое имя пути может содержать подстановочные знаки, которые будут раскрываться и обрабатываться в лексическом порядке. Поиск файлов, указанных без абсолютных путей, по умолчанию будет осуществляться в /etc/ssh. Для выполнения условного включения Include может указываться внутри Match.

  • KexAlgorithms – указать доступные алгоритмы обмена ключами (KEX – Key Exchange). При указании нескольких алгоритмов, они должны быть разделены запятой. Если указанный список начинается с символа +, то указанные методы будут добавлены к набору алгоритмов обмена ключами по умолчанию в OpenSSH, если с символа -, то указанные алгоритмы будут удалены из набора по умолчанию. Если указанный список начинается с символа ^, то указанные алгоритмы будут помещены в начало набора по умолчанию.

    Поддерживаемые алгоритмы:

    • curve25519-sha256;

    • curve25519-sha256@libssh.org;

    • diffie-hellman-group1-sha1;

    • diffie-hellman-group14-sha1;

    • diffie-hellman-group14-sha256;

    • diffie-hellman-group16-sha512;

    • diffie-hellman-group18-sha512

    • diffie-hellman-group-exchange-sha1

    • diffie-hellman-group-exchange-sha256;

    • ecdh-sha2-nistp256;

    • ecdh-sha2-nistp384;

    • ecdh-sha2-nistp521

    • sntrup761x25519-sha512@openssh.com.

    Список доступных алгоритмов обмена ключами также можно получить с помощью команды ssh -Q KexAlgorithms. Настройки по умолчанию обрабатываются в рамках политик системы.

  • MACs – указать доступные алгоритмы MAC (message authentication code). Алгоритмы MAC используются для защиты целостности данных. Несколько алгоритмов указываются через запятую. Если список алгоритмов начинается с символа +, то указанные алгоритмы будут добавлены к встроенному набору алгоритмов OpenSSH по умолчанию, если с символа -, то указанные алгоритмы будут удалены из набора по умолчанию. Если список алгоритмов начинается с символа ^, то указанные алгоритмы будут помещены в начало набора OpenSSH по умолчанию. Алгоритмы, содержащие -etm, вычисляют MAC после шифрования (encrypt-then-mac). Они считаются более безопасными и рекомендованы к использованию.

    Поддерживаемые MAC-адреса:

    • hmac-md5;

    • hmac-md5-96;

    • hmac-sha1;

    • hmac-sha1-96;

    • hmac-sha2-256;

    • hmac-sha2-512;

    • umac-64@openssh.com;

    • umac-128@openssh.com;

    • hmac-md5-etm@openssh.com;

    • hmac-md5-96-etm@openssh.com;

    • hmac-sha1-etm@openssh.com;

    • hmac-sha1-96-etm@openssh.com;

    • hmac-sha2-256-etm@openssh.com;

    • hmac-sha2-512-etm@openssh.com;

    • umac-64-etm@openssh.com;

    • umac-128-etm@openssh.com.

    Список доступных алгоритмов MAC также можно получить с помощью команды ssh -Q mac. Настройки по умолчанию обрабатываются в рамках политик системы.

  • Match – ввести условный блок. Если критерии, указанные в строке Match удовлетворены, ключевые слова в следующих строках переопределяют те, которые установлены в глобальном разделе файла конфигурации, до тех пор, пока не появится другая строка Match или не закончится конец файла. Если ключевое слово появляется в нескольких блоках Match, которые удовлетворяются, применяется только первый экземпляр ключевого слова. Аргументами Match являются одна или несколько пар критерий-шаблон или один токен All, который соответствует всем критериям. Доступные критерии: User, Group, Host, LocalAddress, LocalPort, RDomain, Address. Шаблоны критериев могут состоять из отдельных записей или списков, разделенных запятыми, и могут использовать подстановочные знаки и операторы отрицания, описанные в разделе PATTERNS файла ssh_config.

  • PrintMotd – указать, должен ли sshd выводить содержимое /etc/motd при интерактивном режиме входа пользователя в систему. В некоторых системах эту функцию выполняет оболочка, /etc/profile или иные службы. Значение по умолчанию – yes.

  • PubkeyAcceptedAlgorithms – указать алгоритмы подписи, которые будут приняты для аутентификации с открытым ключом, в виде списка шаблонов, разделенных запятыми. Если список начинается с символа +, то указанные алгоритмы будут добавлены к набору OpenSSH по умолчанию, если с символа -, то указанные алгоритмы будут удалены из набора по умолчанию. Если указанный список начинается с символа ^, то указанные алгоритмы будут помещены в начало набора по умолчанию. Список доступных алгоритмов подписи можно получить с помощью команды ssh -Q PubkeyAcceptedAlgorithms. Настройки по умолчанию обрабатываются в рамках политик системы.

  • RequiredRSASize – указать минимальный размер ключа RSA в битах, который принимает sshd. Если ключи аутентификации пользователя и хоста окажутся меньше этого значения, то они будут отклонены. Значение по умолчанию — 1024 бита. Данное значение может быть повышено только в сравнении со значением по умолчанию.

  • Subsystem – настроить внешнюю подсистему (например, FTP). Аргументами должны быть имя подсистемы и команда (с необязательными аргументами), выполняемая по запросу подсистемы. Например, команда sftp-server реализует подсистему передачи файлов SFTP. По умолчанию подсистемы не определены.

  • SyslogFacility – указать код источника сообщений для логирования работы sshd.

    Возможные значения:

    • DAEMON;

    • USER;

    • AUTH;

    • AUTHPRIV;

    • LOCAL0;

    • LOCAL1;

    • LOCAL2;

    • LOCAL3;

    • LOCAL4;

    • LOCAL5;

    • LOCAL6;

    • LOCAL7.

    Значение по умолчанию – AUTH.

  • UsePAM – включить интерфейс подключаемого модуля аутентификации. Если установлено значение yes, будет включена аутентификация PAM с использованием KbdInteractiveAuthentication и PasswordAuthentication в дополнение к обработке учетной записи PAM и модуля сеанса для всех типов аутентификации. Для интерактивной аутентификации следует отключить либо PasswordAuthentication, либо KbdInteractiveAuthentication, так как данный вид аутентификации выполняет роль, эквивалентную аутентификацию по паролю. Если UsePAM включен, не будет возможности запускать sshd от имени пользователя без привилегий администратора (например, root). Значение по умолчанию – no.

  • X11Forwarding – указать, разрешена ли пересылка X11. Аргумент должен быть yes или no. Значение по умолчанию – no.

    Внимание

    Обратите внимание, что отключение пересылки X11 не мешает пользователям пересылать трафик X11, поскольку пользователи всегда могут установить свои собственные серверы пересылки.