Чтение онлайн

ЖАНРЫ

Сетевые средства Linux

Смит Родерик В.

Шрифт:

• 

– i
. Данная опция сообщает программе о том, что программа была запущена посредством суперсервера (
inetd
или
xinetd
). Если для запуска
sshd
используется суперсервер, надо обязательно указывать данную опцию.

• 

– p порт
. Эта опция задает порт для сервера. По умолчанию используется порт 22.

• 

– q
. Данная опция подавляет протоколирование. (Обычно в файл протокола записывается информация об установлении соединения, выполнении аутентификации и разрыве соединения.)

• 

– 4
. По умолчанию
sshd
поддерживает соединения с компьютерами, адреса которых
соответствуют либо протоколу IPv4, либо протоколу IPv6. Данная опция указывает на то, что
sshd
должен устанавливать соединения только с клиентами, имеющими адреса IPv4.

• 

– 6
. Данная опция разрешает установление соединений только с клиентами, имеющими адреса IPv6.

При запуске

sshd
могут задаваться и другие опции, большинство из которых определяют особенности кодирования данных. Дополнительную информацию об этих опциях можно получить на страницах справочной системы, посвященных
sshd
.

Перед первым запуском

sshd
необходимо сгенерировать файлы, содержащие ключи кодирования. При выполнении алгоритма SSH эти ключи используются для идентификации участников взаимодействия и кодирования данных. В большинстве случаев в сценариях SysV, осуществляющих запуск сервера, предусмотрен код, который поверяет наличие файлов с ключами кодирования и при необходимости генерирует их. Если в вашей системе подобный код отсутствует, вы можете использовать для генерации файлов следующие команды:

# ssh-keygen -q -t rsa1 -f /etc/ssh/ssh_host_key -C '' -N ''

# ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -C '' -N ''

# ssh-keygeh -q -t dsa -f /etc/ssh/ssh_host_dsa_key -C '' -N ''

Каждая из приведенных выше команд генерирует два ключа: закрытый, или личный, ключ (private key), используемый только на сервере, и открытый, или общий, ключ (public key). Открытый ключ передается клиенту, чтобы он мог кодировать данные, передавая их на сервер. Закрытый и открытый ключи помещаются в файлы, имена которых отличаются друг от друга лишь тем, что к имени файла с открытым ключом добавляется суффикс

.pub
. Перед вызовом этих команд необходимо проверить наличие шести файлов: (
ssh_host_key
,
ssh_host_key.pub
,
ssh_host_rsa_key
,
ssh_host_rsa_key.pub
,
ssh_host_dsa_key
и
ssh_host_dsa_key.pub
(обычно эти файлы размещаются в каталоге
/etc/ssh
). Если вы измените существующие ключи, вам придется переконфигурировать клиентские программы, настроенные на работу со старыми ключами. Поэтому ключи следует изменять только в том случае, когда это действительно необходимо.

Редактирование файла

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
, установленное по умолчанию.

Поделиться с друзьями: