Описание параметров sshd config
Port ПОРТ
порт на котором создаётся сервера, по умолчанию 22
ListenAddress АДРЕС
указание адреса на котором создаётся сервер, по умолчанию сервер принимает подключения на всех сетевых интерфейсах.
Возможные варианты
ListenAddress ::
ListenAddress 0.0.0.0 — создание на всех IP4 адресах
ListenAddress 192.168.0.1 — создание только на одном сетевом интерфейсе
ListenAddress 192.168.10.0:48675 — создание только на одном сетевом интерфейсе вместе с портом
Protocol 2
указание версии протокола SSH, по умолчанию 2
Внимание! Первая версия протокола SSH небезопасна!
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
(для версии протокола 2) указание названия файлов RSA/DSA ключей и их расположение.
UsePrivilegeSeparation yes
установка разделения привилегий.
Если указано yes — то сначала создаётся непривилегированный дочерний процесс для входящего сетевого трафика.
После успешной авторизации запускается другой процесс с привилегиями вошедшего пользователя.
Основная цель разделения привилегий — предотвращение превышения прав доступа.
KeyRegenerationInterval 3600
(для версии протокола 1) установка временного ключа
ServerKeyBits 768
(для версии протокола 1) установка длины ключа
SyslogFacility AUTH
установка типа событий для записи в журнал (/var/log/auth.log)
Доступны следующие значения: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7, где
AUTH — авторизация на сервере
LogLevel INFO
установка детализации событий для записи в журнал (/var/log/auth.log), по умолчанию INFO
Доступны следующие события: SILENT, QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3.
LoginGraceTime 120
установка времени разрыва соединения в секундах, если пользователь не осущствит авторизацию, по умолчанию 120 сек
PermitRootLogin without-password
установка разрешения для авторизации суперпользователя
Доступны следующие значения:
yes — вход суперпользователю разрешён, параметр по умолчанию
no — вход суперпользователю запрещён
without-password — авторизация суперпользователя по паролю отключена (но возможна по открытому ключу)
forced-commands-only — вход суперпользователю по открытому ключу разрешён, но только для выполнения команды
(указанному в AuthorizedKeysFile ?!)
StrictModes yes
установка проверки у пользователя прав на владение пользовательскими файлами и домашним каталогом перед разращением входа
AllowUsers user1 user2 …
установка разрешения доступа к серверу по протоколу SSH только для перечисленных пользователей.
Значениями этого параметра могут выступать имена пользователей (не UID!), отделённые друг от друга пробелами.
Допускается использование записи вида user@host, что означает разрешение доступа пользователю user с компьютера host.
Причём пользователь и компьютер проверяются отдельно, то есть доступ может быть разрешён только
определенным пользователям с определенных компьютеров.
DenyUsers user1 user2 …
установка запрета доступа к серверу по протоколу SSH для перечисленных пользователей.
Правила формирования имён такие же как у AllowUsers
AllowGroups user1 user2 …
установка разрешения доступа к серверу по протоколу SSH только для перечисленных групп пользователей.
DenyGroups user1 user2 …
установка запрета доступа к серверу по протоколу SSH для перечисленных групп пользователей.
RSAAuthentication yes
установка типа аутентификации RSA
PubkeyAuthentication yes
включение аутентификации по открытому ключу
AuthorizedKeysFile .ssh/authorized_keys
указание имени файла, в котором содержатся публичные ключи, используемые для аутентификации пользователей по открытому ключу.
В записи могут присутствовать записи в форме %T, которые заменяются в момент установки соединения, например
%% заменяется на %, %h означает домашний каталог пользователя,а %u – имя пользователя.
По умолчанию «.ssh/authorized_keys .ssh/authorized_keys2».
IgnoreRhosts yes
установка игнорирования параметров пользователя из файлов ~/.rhosts and ~/.shosts
(параметр для совместимости с программой rhosts)
RhostsRSAAuthentication no
включение поддержки аутентификации RSA для rhosts.
Для работы этого параметра ключи узла должны быть присоединены в /etc/ssh_known_hosts
(параметр для совместимости с программой rhosts)
HostbasedAuthentication no
включение поддержки аутентификации Hostbased для rhosts.
(параметр для совместимости с программой rhosts)
IgnoreUserKnownHosts yes
установка игнорирования пользовательскому ~/.ssh/known_hosts для RhostsRSAAuthentication
(параметр для совместимости с программой rhosts)
PermitEmptyPasswords no
установка разрешения входа с пустым паролем.
ChallengeResponseAuthentication no
включение PAM интерфейса при авторизации.
Если задано значение yes, то для всех типов аутентификации помимо обработки модуля сессии и аккаунта PAM,
будет использоваться аутентификация на основе запроса-ответа (ChallengeResponseAuthentication и PasswordAuthentication).
PasswordAuthentication yes
включение авторизации по паролю.
Альтернатива аутентификации по ключу хоста.
Параметры, отвечающие за аутентификацию Kerberos
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
Параметры, отвечающие за аутентификацию GSSAPI
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
X11Forwarding yes
установка разрешения перенаправления портов X-системы через ssh-туннель
Будет работать, если на сервере установлен XServer.
X11DisplayOffset 10
установка смещения дисплеев X11 при пробросе портов X-системы через ssh туннель
Будет работать, если на сервере включён X11Forwarding
PrintMotd no
включение вывода при создании ssh-сессии информационного сообщения из файла /etc/motd.
PrintLastLog yes
включение добавления к сообщению, установленному параметром PrintMotd, информации о том, когда в последний раз
и с какого компьютера осуществлялся вход на сервер.
TCPKeepAlive yes
включение поддержания соединения со стороны сервера.
Внимание! возможно безопасней будет реализация данной функции вручную с помощью параметров
ClientAliveCountMax и ClientAliveInterval, как указано ниже.
ClientAliveCountMax 3
установка количества запросов, которое ssh-сервер отправляет ssh-клиентам через определённые промежутки времени.
Как только установленное значение запросов достигнуто, а клиент так и не ответил, соединение разрывается.
Если этого делать, то сессии на сервере будут длиться бесконечно, отбирая его ресурсы.
ClientAliveInterval 20
установка интервала отправки запросов ClientAliveCountMax в секундах.
UseLogin no
установка использования login для интерактивных сессий, значение по умолчанию no.
MaxStartups start:rate:full
установка количества неавторизованных подключений к серверу ssh, по умолчанию значение данного параметра 10.
Длительность такого подключения определяется параметром LoginGraceTime.
Формат записи может быть представлен виде start:rate:full, где
start – это уже имеющееся количество неавторизованных подключений,
rate – процент вероятности отклонения попытки подключения,
full – максимальное количество неавторизованных соединений.
Например запись в виде
MaxStartups 2:30:7
устанавливает что, если уже имеется 2 неавторизованных подключения, то следующее подключение будет отклонено с вероятностью
30%, а если количество неавторизованных подключений достигнет 7, то все последующие попытки подключения будут отвергнуты.
Banner /etc/issue.net
установка местоположения файла-баннера, который будет выведен на экран, при попытке подключиться к серверу sshd.
В Debian по умолчанию параметр имеет значение /etc/motd.tail.
DebianBanner no
включение в строку ответа sshd при обращению к серверу по протоколу TELNET или при сканировании nmap
информации об операционной системе.
AcceptEnv LANG LC_*
установка переменных окружения, которые будут переданы клиенту
Subsystem sftp /usr/lib/openssh/sftp-server
включение внешней подсистемы (например, FTP).
В качестве параметров передаются имя подсистемы и команда, которая будет выполнена при запросе подсистемы.
Команда sftp-server, реализует протокол передачи файлов через SSH — SFTP.
UsePAM yes
установка разрешений на запуск sshd.
Например если параметр UsePAM включён, то запустить sshd можно будет только от имени root.