Книга: Сетевые средства Linux
Редактирование файла sshd_config
Редактирование файла sshd_config
Работой сервера sshd
управляет файл sshd_config
, который обычно находится в каталоге /etc/ssh
. (He следует путать файл sshd_config
с конфигурационным файлом клиента ssh_config
, который размещается в том же каталоге.) В файле sshd_config
указываются опции и их значения. Каждая опция задается в отдельной строке в следующем формате:
Опция значение
Подобно другим конфигурационным файлам, строка, начинающаяся с символа #
, содержит комментарии. Многие опции в файле sshd_config
дублируют опции командной строки, которые указываются при вызове sshd
, но некоторые из опций могут присутствовать только в конфигурационном файле. Конфигурация, установленная по умолчанию, чаще всего обеспечивает нормальную работу сервера, но иногда приходится изменять значения некоторых опций, например PermitRootLogin
. Наиболее важные из опций, содержащихся в файле sshd_config
, приведены ниже.
• Port
. Данная опция позволяет задать порт для сервера. По умолчанию используется порт 22.
• HostKey
. Эта опция сообщает серверу о том, где следует искать ключи кодирования. Ключи кодирования содержатся в файлах, которые должны быть сгенерированы перед первым запуском программы. Примером такого файла является /etc/ssh/ssh_host_key
. При настройке сервера можно указать несколько файлов с ключами.
• KeyRegenerationInterval
. При установлении соединения участники SSH-взаимодействия ведут переговоры об использовании ключей кодирования, а затем время от времени договариваются о замене ключей. Периодическая замена ключей уменьшает опасность повреждения системы в случае, если по каким-либо причинам ключ будет расшифрован. (Обратите внимание на то, что здесь речь идет о ключах, сгенерированных в дополнение к ключам, которые создаются перед первым запуском программы. Ключи, сформированные в процессе переговоров, никогда не записываются на диск.) Данная опция задает время (в секундах) использования сгенерированных ключей. По истечении этого времени формируются новые ключи.
• PermitRootLogin
. В большинстве случаев при инсталляции пакета устанавливается значение yes данной опции. По умолчанию sshd
позволяет пользователю root
регистрироваться на сервере. Безопаснее, однако, задать для этой опции значение no
, так как в этом случае злоумышленник, пытающийся незаконно проникнуть в систему, должен знать два пароля (пароль обычного пользователя и пароль root
). Значение по опции PermitRootLogin
не исключает возможность удаленного администрирования системы, но для этого вам придется сначала зарегистрироваться как обычный пользователь, а затем получить привилегии root
с помощью команды su
.
• IgnoreRhosts
. По умолчанию устанавливается значение yes
данной опции, в результате чего сервер sshd игнорирует файл ~/.rhosts
. Если опция IgnoreRhosts
имеет значение по и если значение опции RhostsAuthentication
равно yes
, sshd
, подобно rlogind
, будет поддерживать аутентификацию по принципу доверия. Установка значения по опции IgnoreRhosts
создает реальную опасность для системы.
• RhostsAuthentication
. Для поддержки аутентификации по принципу доверия сервер SSH использует две опции: IgnoreRhosts
и RhostsAuthentication
. Опция RhostsAuthentication
разрешает работу с узлами, пользующимися доверием. Желательно установить для данной опции значение no
.
• RSAAuthentication
. В версии 1 протокола SSH был предусмотрен метод аутентификации с применением открытого ключа, при котором пароль не передавался по сети. Вместо этого использовались открытый ключ и фраза пароля. Для того чтобы разрешить данный способ аутентификации, надо установить значение yes
опции RSAAuthentication
(это значение принимается по умолчанию).
• PubkeyAuthentication
. Данная опция выполняет те же действия, что и опция RSAAuthentication
, но применяется при работе с версией 2 протокола SSH.
• PasswordAuthentication
. Значение yes
данной опции позволяет пользователям регистрироваться, вводя пароль в ответ на приглашение. Этот способ аутентификации широко используется в настоящее время, поэтому желательно принять значение опции PasswordAuthentication
, установленное по умолчанию.
• X11Forwarding
. Как было сказано ранее, протокол SSH может быть использован для туннелирования X-соединений. Чтобы это стало возможным, соответствующая конфигурация должна быть установлена как для сервера, так и для клиентской программы. Значение yes
опции X11Forwarding
указывает на то, что сервер SSH должен перенаправлять соединения X Window. Опция аналогичного назначения предусмотрена и для клиента SSH. Имя этой опции — ForwardX11
; она указывается в файле /etc/ssh/ssh_config
.
При настройке сервера SSH могут быть использованы дополнительные опции. Одни из них определяют альтернативные способы аутентификации, другие уточняют действие перечисленных выше опций, а третьи задают детали функционирования сервера. После установки пакета, реализующего SSH-взаимодействие, внимательно просмотрите конфигурационный файл, который поставляется в составе пакета, и выясните, подходит ли вам конфигурация, установленная по умолчанию. Дополнительную информацию о назначении опций можно найти на страницах справочной системы, посвященных sshd
.