указываются опции и их значения. Каждая опция задается в отдельной строке в следующем формате:
Опция значение
Подобно другим конфигурационным
файлам, строка, начинающаяся с символа
#
, содержит комментарии. Многие опции в файле
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
.
Аутентификация при SSH-взаимодействии
В процессе обмена сервер и клиент SSH используют различные способы кодирования передаваемых данных. Упрощенно это выглядит так. Участники взаимодействия договариваются о временном использовании метода кодирования с помощью открытого ключа. Ключ представляет собой достаточно большое число и применяется для шифрования информации, передаваемой по сети. При получении данных система декодирует их с помощью закрытого ключа. Такой способ кодирования используется для передачи другого типа ключа, называемого секретным ключом. Секретный ключ используется в другом методе шифрования и обеспечивает более высокое быстродействие по сравнению с кодированием посредством открытого и закрытого ключей. По завершении передачи секретного ключа компьютеры, обменивающиеся по протоколу SSH, начинают использовать для кодирования данных секретный ключ. Помимо передачи секретного ключа, открытый и закрытый ключи применяются также при аутентификации; идентификатор пользователя, зашифрованный с помощью закрытого ключа, позволяет убедиться в том, что пользователь — именно тот, за кого он себя выдает.