Файл /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_KEYS FILE FORMAT». Токены, которые могут служить аргументамиAuthorizedKeysFile, можно посмотреть с помощью командыman -S 5 sshd_config, раздел «Tokens». ЗначенияAuthorizedKeysFileинтерпретируются как абсолютный путь или путь относительно домашнего каталога пользователя. Можно указать несколько файлов, разделенных пробелом. В качестве альтернативы для этого параметра можно установить значениеnone, чтобы пропустить проверку пользовательских ключей в файлах. В качестве значений по умолчанию используются файлы.ssh/authorized_keysи.ssh/authorized_keys2.CASignatureAlgorithms– указать разрешенные алгоритмы для подписания сертификатов центрами сертификации. С информацией о настройках алгоритмов для подписания сертификатов в OpenSSH по умолчанию и о том, как их изменить, можно ознакомиться с помощью командыman -S 8 update-crypto-policies. Настройки по умолчанию обрабатываются в рамках политик системы (подробнее см.man -S 7 crypto-policies). Если список указанных значений начинается с символа+, то алгоритмы будут добавлены к набору по умолчанию, если с символа-, то удалены из него. Сертификаты, подписанные с использованием других алгоритмов, не будут приниматься для аутентификации.ChallengeResponseAuthentication– указать, разрешена ли аутентификация запрос-ответ (например, через PAM или с помощью схем аутентификации, поддерживаемых в описании классов ОС (см.man -S 5 login.conf)). Значение по умолчанию —yes.Ciphers– указать разрешенные шифры. С информацией о настройках шифров OpenSSH по умолчанию и о том, как их изменить, можно ознакомиться с помощью командыman -S 8 update-crypto-policies. Настройки по умолчанию обрабатываются в рамках политик системы (подробнее см.man -S 7 crypto-policies). Несколько шифров должны быть разделены запятыми. Если указанный список значений начинается с символа+, то указанные шифры будут добавлены к встроенному набору 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. С информацией о настройках алгоритмов подписи ключей хоста в OpenSSH по умолчанию, о том, как их изменить и настроить существующие политики с помощью подполитик, можно ознакомиться с помощью командыman -S 8 update-crypto-policies. Настройки по умолчанию обрабатываются в рамках политик системы (подробнее см.man -S 7 crypto-policies).Include– включить указанные файлы конфигурации. В качестве значений можно указать несколько путей к файлам. Каждое имя пути может содержать подстановочные знаки (см.man -S 7 glob), которые будут раскрываться и обрабатываться в лексическом порядке. Поиск файлов, указанных без абсолютных путей, по умолчанию будет осуществляться в/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-sha512diffie-hellman-group-exchange-sha1diffie-hellman-group-exchange-sha256;ecdh-sha2-nistp256;ecdh-sha2-nistp384;ecdh-sha2-nistp521sntrup761x25519-sha512@openssh.com.
Список доступных алгоритмов обмена ключами также можно получить с помощью команды
ssh -Q KexAlgorithms. С информацией о настройках алгоритмов обмена ключами в OpenSSH по умолчанию, о том, как их изменить и настроить существующие политики с помощью подполитик, можно ознакомиться с помощью командыman -S 8 update-crypto-policies. Настройки по умолчанию обрабатываются в рамках политик системы (подробнее см.man -S 7 crypto-policies).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. С информацией о настройках алгоритмов MAC в OpenSSH по умолчанию, о том, как их изменить и настроить существующие политики с помощью подполитик, можно ознакомиться с помощью командыman -S 8 update-crypto-policies. Настройки по умолчанию обрабатываются в рамках политик системы (подробнее см.man -S 7 crypto-policies).Match– ввести условный блок. Если критерии, указанные в строкеMatchудовлетворены, ключевые слова в следующих строках переопределяют те, которые установлены в глобальном разделе файла конфигурации, до тех пор, пока не появится другая строкаMatchили не закончится конец файла. Если ключевое слово появляется в нескольких блокахMatch, которые удовлетворяются, применяется только первый экземпляр ключевого слова. АргументамиMatchявляются одна или несколько пар критерий-шаблон или один токенAll, который соответствует всем критериям. Доступные критерии:User,Group,Host,LocalAddress,LocalPort,RDomain,Address. Шаблоны критериев могут состоять из отдельных записей или списков, разделенных запятыми, и могут использовать подстановочные знаки и операторы отрицания, описанные в разделеPATTERNSфайлаssh_config(man -S 5 ssh_config). Для получения информации по доступным ключевым словам используйте командуman -S 5 sshd_config.PrintMotd– указать, должен лиsshdвыводить содержимое/etc/motdпри интерактивном режиме входа пользователя в систему. В некоторых системах эту функцию выполняет оболочка,/etc/profileили иные службы. Значение по умолчанию –yes.PubkeyAcceptedAlgorithms– указать алгоритмы подписи, которые будут приняты для аутентификации с открытым ключом, в виде списка шаблонов, разделенных запятыми. Если список начинается с символа+, то указанные алгоритмы будут добавлены к набору OpenSSH по умолчанию, если с символа-, то указанные алгоритмы будут удалены из набора по умолчанию. Если указанный список начинается с символа^, то указанные алгоритмы будут помещены в начало набора по умолчанию. Список доступных алгоритмов подписи можно получить с помощью командыssh -Q PubkeyAcceptedAlgorithms. Настройки по умолчанию обрабатываются в рамках политик системы (подробнее см.man -S 7 crypto-policies).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, поскольку пользователи всегда могут установить свои собственные серверы пересылки.
Дополнительная информация#
Дополнительную информацию можно получить, выполнив команду:
man sshd_config