Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LINUX-сервер пошаговые инструкции инсталляции и настройки - Бруй В. В. , Карлов С. В

..pdf
Скачиваний:
119
Добавлен:
24.05.2014
Размер:
3.66 Mб
Скачать

Глава 12. OpenSSL – программное обеспечение для безопасной передачи данных

191

You are about to be asked to enter information that will be incorporated

into your certificate

request.

 

What you are about to enter is what is called a Distinguished Name or a

DN.

 

 

There are quite a few

fields but you can leave some blank

 

For some fields there

will be a default value,

 

If you enter '.', the

field will be left blank.

 

Подтвердите заданные ранее в файле /usr/shared/ssl/openssl.cnf название страны, области, города, организации, Web-сервера, почтового адреса администратора сервера:

Country Name (2 letter code) [RU]: <Enter>

State or Province Name (full name) [Moscow Region]: <Enter> Locality Name (eg, sity) [Ybileynyi]: <Enter>

Organization Name (eg, company) [SIP RIA]: <Enter> Organizational Unit Name (eg, section) []:<Enter> Common Name (eg, YOUR name) [www.dymatel.und]: <Enter>

Email Address [root@dymatel.und]: <Enter>

Please enter the following 'extra' attributes to be sent with your certificate request

A challenge password []:<Enter>

An optional company name []:<Enter>

Файл www.dymatel.und.csr, содержащий запрос на подтверждение подлинности сертификата, отправьте в коммерческий сертификационный центр, оплатите его услуги, и через некоторое время вы получите файл www.dymatel.und.crt, который вы сможете использовать для подтверждения подлинности сертификата.

Если вы не желаете прибегать к услугам коммерческих сертификационных центров и желаете подписать его самостоятельно, то выполните операции, описанные в шагах 5, 6,7,8 и 9.

Шаг 5

Создайте закрытый RSA-ключ для своего собственного центра сертификации:

[root@dymatel ssl]# openssl genrsa -des3 -out ca.key 1024

Generating RSA private key, 1024 bit long modulus

............++++++

...............++++++

e is 65537 (0x10001)

Введите пароль, защищающий ключ:

Enter pass phrase for ca.key: $ecretnoe_Slov0

Подтвердите пароль:

Verifying - Enter pass phrase for ca.key: $ecretnoe_Slov0

Шаг 6 Сохраните ключ и защищающий его пароль в надежном месте, например на дискете.

Шаг 7

Создайте и подпишите для ключа ca.key сертификат:

[root@dymatel ssl]# openssl req -new -x509 -days 365 -key ca.key -out ca.crt

Enter pass phrase for ca.key:

You are about to be asked to enter information that will be incorporated

into your certificate

request.

What you are about to

enter is what is called a Distinguished Name or a

DN.

 

There are quite a few

fields but you can leave some blank

For some fields there

will be a default value,

If you enter '.', the

field will be left blank.

Введите название страны, области, города, организации, Web-сервера, почтового адреса администратора сервера:

Country Name (2 letter code) [RU]:<Enter>

State or Province Name (full name) [Moscow Region]: <Enter>

192

Часть 3. Криптографическое программное обеспечение...

Locality Name (eg, sity)

[Ybileynyi]: <Enter>

Organization Name (eg, company) [SIP RIA]: <Enter>

Organizational Unit Name

(eg, section) []: Sertification Department <En-

ter>

 

Common Name (eg, YOUR name) [www.dymatel.und]: <Enter>

Email Address [root@dymatel.und]: <Enter>

ЗАМЕЧАНИЕ В этом примере были подтверждены все параметры, определенные в файле

/usr/shared/ssl/openssl.cnf и использованные при создании www.dymatel.und.csr (шаг 4), кроме на-

звания подразделения (Organizational Unit Name (eg, section)). Для реализации возможности самостоятельной подписи сертификата исходные данные, вводимые для www.dymatel.und.csr и ca.crt должны различаться, в противном случае при подписании сертификата произойдет ошибка.

Шаг 8 Поместите все созданные файлы в соответствующие каталоги:

[root@dymatel ssl]# mv www.dymatel.und.key private/

[root@dymatel ssl]# mv ca.key private/ [root@dymatel ssl]# mv ca.crt certs/

Шаг 9 Подпишите созданный ранее запрос на подтверждение подлинности сертификата

www.dymatel.und.csr:

[root@dymatel ssl]# /usr/share/ssl/misc/sign www.dymatel.und.csr

CA signing: www.dymatel.und.csr -> www.dymatel.und.crt: Using configuration from ca.config

Enter PEM pass phrase:

Check that the request matches the signature Signature ok

The Subjects Distinguished Name is as follows

countryName

:PRINTABLE:'RU'

stateOrProvinceName

:PRINTABLE:'Moscow region'

localityName

:PRINTABLE:'Ybileyniy'

organizationName

:PRINTABLE:'SIP RIA'

organizationalUnitName:PRINTABLE:'Sertification Department'

commonName

:PRINTABLE:'www.dymatel.und'

emailAddress

:IA5STRING:'root@dymatel.und'

Certificate is to be certified until Mar 19 12:24:10 2004 GMT (365 days)

Подтвердите необходимость подписи сертификата:

Sign the certificate? [y/n]:y

Еще раз подтвердите необходимость подписи сертификата:

1 out of 1 certificate requests certified, commit? [y/n]:y Write out database with 1 new entries

Data Base Updated

CA verifying: www.dymatel.und.crt <-> CA cert www.dymatel.und.crt: OK

Шаг 10

Поместите файл www.dymatel.und.crt в /usr/share/ssl/cert:

[root@dymatel ssl]# mv www.dymatel.und.crt certs/

и удалите www.dymatel.und.csr:

[root@dymatel ssl]# rm -f www.dymatel.und.csr

ЗАМЕЧАНИЕ Если во время подписывания сертификата выдается сообщение об ошибках, вероятно, это является следствием того, что при вводе полного доменного имени системы вы ввели mydomain.ru вместо www.mydomain.ru или информация, введенная при создании ca.crt (шаг 7) и www.mydomain.ru.csr (шаг 4) идентична.

Шаг 11 Для повышения безопасности измените права доступа к вновь созданным файлам:

[root@dymatel /]# chmod 750 /usr/share/ssl/private/

Глава 12. OpenSSL – программное обеспечение для безопасной передачи данных

193

[root@dymatel /]# chmod 400 /usr/share/ssl/certs/ca.crt [root@dymatel /]# chmod 400 /usr/share/ssl/certs/www.dymatel.und.crt [root@dymatel /]# chmod 400 /usr/share/ssl/private/ca.key

[root@dymatel /]# chmod 400 /usr/share/ssl/private/www.dymatel.und.key

Шаг 12

Для того, чтобы созданный и подписанный вами сертификат мог использоваться Web-сервером Apache, в конфигурационный файл httpd.conf добавьте строки:

SSLCertificateFile /usr/share/ssl/certs/www.dymatel.und.crt SSLCertificateFile /usr/share/ssl/private/www.dymatel.und.key

В этом случае при обращении к вашему серверу по протоколу HTTPS сведения о вашем сертификате (при использовании самостоятельной подписи и браузера MS Internet Explorer 5.x) будут иметь вид, представленный на рис. 12.1.

Рис. 12.1 Сведения о сертификате Web-сервера http://www.dymatel.und.

194

Часть 3. Криптографическое программное обеспечение...

Глава 13

OpenSSH – программное обеспечение для безопасного администрирования удаленных систем

В этой главе:

1. Ограничения и допущения

2.Пакеты

3.Инсталляция с помощью rpm-пакетов

4.Компиляция, оптимизация и инсталляция OpenSSH

5.Конфигурирование OpenSSH

6.Тестирование OpenSSH

7.Использование OpenSSH

8.OpenSSH в окружении chroot-jail

9.Создание окружения chroot-jail

10. Компиляция, оптимизация, инсталляция, конфигурирование и тестирование OpenSSH в среде chroot-jail

Глава 13. OpenSSH – программное обеспечение для безопасного администрирования...

195

Многие сетевые службы, предназначенные для администрирования удаленных систем (например, telnet, rsh, rlogin и др.) не обеспечивают должный уровень безопасности, т. к. передают аутентификационную информацию по сети в виде незашифрованного текста. Эта информация может быть перехвачена третьими лицами и использована для получения несанкционированного доступа к вашим системам. В настоящее время эти программы почти полностью вытеснены программой OpenSSH (Open Secure Shell), которая шифрует весь трафик, включая аутентификационную информацию, и позволяет:

регистрироваться на удаленных системах;

выполнять команды на удаленных системах;

копировать файлы c одной системы на другую.

Ограничения и допущения

Исходные коды находятся в каталоге /var/tmp.

Все операции выполняются пользователем с учетной записью root. Используется дистрибутив ASPLinux 7.3 (Vostok).

Перекомпиляция ядра не требуется.

Процедуры, описанные в этой главе, могут оказаться применимыми для других версий ядра и дистрибутивов Linux, но авторы этого не проверяли.

ЗАМЕЧАНИЕ В некоторых странах ввоз, распространение и использование программного обеспечения для криптографии запрещено.

Пакеты

Последующие рекомендации основаны на информации, полученной с домашней страницы проекта OpenSSH по состоянию на 5.04.2003. Регулярно посещайте домашнюю страницу проекта http://www.openssh.org/и отслеживайте обновления.

Исходные коды OpenSSH содержатся в архиве openssh-version.tar.gz (последняя доступная на момент написания главы стабильная версия openssh-3.6.1p1.tar.gz).

ЗАМЕЧАНИЕ Обратите внимание, что вам необходима именно «переносимая» (предназначенная для Linux и др. операционных систем) версия, название которой содержит индекс "p", например "3.6.1p1".

Для работы OpenSSH требуется наличие некоторых библиотек OpenSSL, поэтому перед установкой OpenSSH требуется установить OpenSSL в соответствии с рекомендациями главы 12 из исходных кодов или rpm-пакетов. Если вам необходим запуск OpenSSH в окружении chroot-jail, т. е. некоторым пользователям необходимо предоставить доступ к выполнению команд только в их домашних каталогах, без предоставления доступа к системе в целом, должны использоваться исходные коды OpenSSH, к которым применен соответствующий патч. Пропатченные исходные коды OpenSSH содержатся в архиве openssh-version- chroot.tar.gz (последняя доступная на момент написания главы стабильная версия openssh-

3.6.1p1.tar.gz) и могут быть получены с http://chrootssh.sourceforge.net.

Инсталляция с помощью rpm-пакета

Если вы предпочитаете использование системы со стандартным ядром и программным обеспечением, установленным из rpm-пакетов, для установки или обновления пакета необходимо выполнить простые операции. Следует заметить, что в этом случае, к сожалению, вам не удастся в дальнейшем настроить работу программы в среде chroot-jail.

ЗАМЕЧАНИЕ Авторы настоятельно рекомендуют устанавливать программное обеспечение из исходных кодов.

Шаг 1

Проверьте, установлен ли пакет openssh с помощью следующей команды:

[root@drwalbr /]# rpm –iq openssh

Шаг 2

В случае его отсутствия перейдите в каталог, где находится пакет openssh-3.1p1- 6.1asp.i386.rpm. Если вы в соответствии с рекомендациями главы 2 скопировали все пакеты, входящие в дистрибутив, в каталог /home/distrib, то выполните команду:

196

Часть 3. Криптографическое программное обеспечение...

[root@drwalbr /]# cd /home/distrib

и установите:

[root@drwalbr distrib]# rpm –ihv openssh-3.1p1-6.1asp.i386.rpm

или обновите пакет:

[root@drwalbr distrib]# rpm –Uhv openssh-3.1p1-6.1asp.i386.rpm

После установки пакета перейдите к настройке программы OpenSSH, процесс которой описан ниже.

Компиляция, оптимизация и инсталляция OpenSSH

Шаг 1 Осуществите проверку подлинности имеющегося в вашем распоряжении архива с исходными кодами

с использованием процедур, описанных в шаге 1 радела «Компиляция, оптимизация и инсталляция

OpenSSL» главы 12.

Шаг 2

Распакуйте архив с исходными кодами в каталог /var/tmp:

[root@drwalbr tmp]# tar xzpf openssh-3.6.1p1.tar.gz

[root@drwalbr tmp]# cd openssh-3.6.1p1

Шаг 3

Создайте специального пользователя, от имени которого будет запускаться служба sshd:

[root@drwalbr openssh-3.6.1p1]# groupadd -g 39 sshd > /dev/null 2>&1 ||: [root@drwalbr openssh-3.6.1p1]# useradd -u 39 -g 39 -s /bin/false -M -r - d /var/empty sshd > / dev/null 2>&1 || :

Шаг 4 Добавьте имя несуществующего командного интерпретатора. Для этого в конец файла

/etc/shells добавьте строку:

/bin/sh

/bin/bash

/bin/bash2

/bin/false/

Шаг 5

Сконфигурируйте исходные коды OpenSSH:

[root@drwalbr openssh-3.6.1p1]# CFLAGS="-O2 -march=i686 -funroll-loops"; export CFLAGS

./configure \ --prefix=/usr \ --sysconfdir=/etc/ssh \

--libexecdir=/usr/libexec/openssh \ --mandir=/usr/share/man \ --with-pam \

--with-ipaddr-display \ --with-ipv4-default \ --with-md5-passwords \ --with-zlib

При таких параметрах конфигурации осуществляется компиляция исходных кодов с оптимизацией применительно к архитектуре процессора i686, разрешается поддержка модулей аутентификации PAM и использование IP-адресов вместо имени системы, паролей MD5, инсталляция файлов осуществляется в соответствующие каталоги.

Шаг 6

Откомпилируйте исходные коды, проинсталлируйте файлы OpenSSH, создайте и сохраните список установленных файлов:

[root@drwalbr openssh-3.6.1p1]# make [root@drwalbr openssh-3.6.1p1]# cd

[root@drwalbr openssh-3.6.1p1]# find /* > /root/openssh1 [root@drwalbr openssh-3.6.1p1]# make install

Глава 13. OpenSSH – программное обеспечение для безопасного администрирования...

197

[root@drwalbr openssh-3.6.1p1]# mkdir /var/empty [root@drwalbr openssh-3.6.1p1]# chown root.sys /var/empty [root@drwalbr openssh-3.6.1p1]# find /* > /root/openssh2

[root@drwalbr openssh-3.6.1p1]# diff /root/openssh1 /root/openssh2 >

/root/openssh.installed

[root@drwalbr openssh-3.6.1p1]# mv /root/openssh.installed

/very_reliable_place/openssh.installed.YYYYMMDD

Шаг 7

Удалите архив и каталог с исходными кодами OpenSSH:

[root@drwalbr openssh-3.6.1p1]# cd /var/tmp/

[root@drwalbr tmp]# rm -rf openssh-3.6.1p1/ [root@drwalbr tmp]# rm -f openssh-3.6.1p1.tar.gz

Конфигурирование OpenSSH

Конфигурирование OpenSSН осуществляется с использованием следующих файлов:

конфигурационный файл сервера /etc/ssh/sshd_config;

конфигурационный файл клиента /etc/ssh/ssh_config;

файл для поддержки модулей PAM /etc/pam.d/sshd;

файл инициализации /etc/init.d/sshd.

Шаг 1

Для конфигурирования сервера создайте файл /etc/ssh/sshd_config, руководствуясь своими потребностями и нижеприведенными рекомендациями:

Port

22

Protocol

2,1

ListenAddress

192.168.2.99

HostKey

/etc/ssh/ssh_host_key

HostKey

/etc/ssh/ssh_host_rsa_key

HostKey

/etc/ssh/ssh_host_dsa_key

ServerKeyBits

768

LoginGraceTime

60

KeyRegenerationInterval

3600

PermitRootLogin

no

IgnoreRhosts

yes

IgnoreUserKnownHosts

yes

StrictModes

yes

X11Forwarding

no

X11DisplayOffset

10

PrintMotd

yes

KeepAlive

yes

SyslogFacility

AUTHPRIV

LogLevel

INFO

RhostsAuthentication

no

RhostsRSAAuthentication

no

RSAAuthentication

yes

PasswordAuthentication

no

PermitEmptyPasswords

no

AllowUsers

drwalbr karlnext

UsePrivilegeSeparation

yes

Subsystem

sftp /usr/libexec/openssh/sftp-server

Опция Port 22 определяет номер порта, на котором сервер sshd ожидает запросов клиентов. В данном примере используется 22 порт, установленный по умолчанию.

Опция Protocol 2,1 определяет порядок версий протоколов, используемых при установке соединения. В рассматриваемом примере при установлении связи сначала будет предпринята попытка установки соединения по протоколу версии 2 и если она окажется неудачной, будет предпринята попытка установления соединения по протоколу версии 1.

Опция ListenAddress 192.168.2.99 определяет IP-адрес сетевого интерфейса, на котором sshd ожидает запросы на подключение.

198 Часть 3. Криптографическое программное обеспечение...

Опции HostKey /etc/ssh/ssh_host_key, HostKey /etc/ssh/ssh_host_dsa_key и HostKey /etc/ssh/ssh_host_rsa__key определяют местоположение файлов с ключами.

Опция ServerKeyBits 768 определяет количество битов, отведенных под ключ сервера, и используется при генерировании ключей.

Опция LoginGraceTime 60 определяет время в секундах, через которое сервер разрывает соединение в случае неудачной попытки регистрации удаленного пользователя. Эта настройка затрудняет реализацию DoS-атак (Denial of Service), основанных на установлении соединений пользователями, не имеющих доступа к аутентификационной информации.

Опция KeyRegenerationinterval 3600 определяет продолжительность интервала времени в секундах, по окончании которого сервер автоматически генерирует новые ключи. Это настройка повышает безопасность системы за счет затруднения расшифровки третьими лицами трафика, генерируемого соединениями легитимных пользователей.

Опция PermitRootLogin no запрещает регистрацию пользователя root, используя ssh. В случае необходимости выполнения команд на удаленной системе от имени пользователя root безопаснее зарегистрироваться в системе в качестве обычного пользователя и затем повысить свои права доступа c помощью команд su или sudo.

Опции IgnoreRhosts yes, IgnoreUserKnownHosts yes, StrictModes yes, RhostsAuthentication no и RhostsRSAAuthentication no повышают безопасность системы за счет запрета использования файлов rhosts или shosts для аутентификации пользователей.

Опция X11Forwarding no запрещает поддержку X-сервера.

Опция PrintMotd yes разрешает вывод приветственного сообщения из файла /etc/motd после регистрации пользователя.

Опция SyslogFacility AUTHPRIV определяет вывод сообщений sshd.

Опция LogLevel INFO опрделяет степень подробности вывода информации sshd.

Опция RSAAuthentication yes разрешает использовать RSA аутентификацию. Она используется только протоколом SSH1. Протокол SSH2 использует DSA аутентификацию.

Опция PasswordAuthentication no повышает безопасность системы за счет запрещения использования паролей для аутентификации пользователей, предоставляя возможность для регистрации только тем удаленным пользователям, чьи открытые ключи, созданные с помощью утилиты ssh-keygen, размещены на сервере. Эти ключи так же защищены паролем. Такой предлагаемый вариант значения опции (no) запрещает регистрацию пользователей, которые узнали или подобрали пароль, но не имеют соответствующего ключа на своей системе.

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

Опция AllowUsers drwalbr karlnext определяет список удаленных пользователей, которым разрешена регистрация в системе.

Опция UsePrivilegeSeparation yes используется для повышения устойчивости системы к различного рода сбоям.

Шаг 2 Для конфигурирования клиента создайте и отредактируйте в соответствии с вашими потребностями

файл /etc/ssh/ssh_config:

 

Host

*

ForwardAgent

no

ForwardX11

no

RhostsAuthentication

no

RhostsRSAAuthentication

no

RSAAuthentication

yes

PasswordAuthentication

no

FallBackToRsh

no

UseRsh

no

BatchMode

no

CheckHostIP

yes

StrictHostKeyChecking

yes

IdentityFile

~/.ssh/identity

IdentityFile

~/.ssh/id_dsa

IdentityFile

~/.ssh/id_rsa

Port

22

Protocol

2,1

Глава 13. OpenSSH – программное обеспечение для безопасного администрирования...

199

Cipher

blowfish

 

EscapeChar

~

 

Опция Host * предназначена для наложения ограничений на имена систем, с которыми разрешено соединение. В рассматриваемом примере образец "*" не устанавливает никаких ограничений. Опция Host в файле /etc/ssh/ssh_config может использоваться несколько раз, при этом задаваемый ей образец имен систем, с которыми разрешено соединение, действует до следующего упоминания опции Host или конца файла. Это позволяет реализовывать разные настройки клиента для соединения с различными системами.

Опции ForwardAgent no и ForwardX11 no запрещают автоматическое распространение сеансов на вашу систему.

RhostsAuthentication no и RhostsRSAAuthentication no запрещают устаревшие и ставшими небезопасными механизмы аутентификации пользователей.

Опция RSAAuthentication yes разрешает использовать RSA аутентификацию. Этот тип аутентификации используется только протоколом SSH1. Протокол SSH2 использует DSA аутентификацию.

Опция PasswordAuthentication no повышает безопасность системы за счет запрещения использования паролей для аутентификации пользователей. Более подробно назначение этой опции рассматривалось выше при конфигурировании сервера.

Опция FallBackToRsh no запрещает в случае неудачной попытки соединения с помощью sshклиента автоматической попытки установки соединения с помощью rsh-клиента.

Опция UseRsh no запрещает использование небезопасных служб.

Опция BatchMode no требует безусловной проверки имени пользователя и пароля при установке соединения. Значение опции должно быть изменено, если вы разрабатываете скрипты, предназначенные для автоматической установки соединения, например, при резервном копировании данных.

Опция checkHostIP yes требует обязательной проверки соответствия IP-адреса и имени системы при установке соединения.

Опция StrictHostKeyChecking yes запрещает автоматическое добавление ключей удаленных систем в файл known_hosts. В начале, т. е. сразу после установки системы, можно изменить значение опции на "no", установить соединения со всеми системами, с которыми имеется необходимость установки sshсоединений, при этом ключи автоматически добавятся в файл known_hosts. После чего необходимо установить значение опции "yes".

Опции IdentityFile ~/.ssh/identity, IdentityFile ~/.ssh/id_dsa и IdentityFile ~/.ssh/id_rsa позволяют определить местоположение файлов, используемых при аутентификации.

Опция Protocol 2,1 определяет порядок версий протоколов, используемых при установке соединения. В рассматриваемом примере сначала будет предпринята попытка установки соединения по протоколу версии 2 и если она окажется неудачной, будет предпринята попытка установления соединения по протоколу версии 1.

Опция Cipher blowfish определяет алгоритм шифрования информации. Шифр blowfish предусматривает использование 64-битных блоков и ключей длиной до 448 битов.

Опция EscapeChar ~ определяет возможность использования символа <ESC> для приостановки сеанса.

Шаг 3

Для повышения безопасности компиляция OpenSSH осуществлена с поддержкой аутентификации с использованием модулей PAM. Для настройки аутентификации создайте файл /etc/pam.d/sshd, содержащий следующие строки:

#%PAM-1.0

 

 

auth

required

/lib/security/pam_stack.so service=system-auth

auth

required

/lib/security/pam_nologin.so

account

required

/lib/security/pam_stack.so service=system-auth

account

required

/lib/security/pam_access.so

account

required

/lib/security/pam_time.so

password

required

/lib/security/pam_stack.so service=system-auth

session

required

/lib/security/pam_stack.so service=system-auth

session

required

/lib/security/pam_limits.so

Установите права доступа к файлу, назначьте его владельцем пользователя root:

[root@drwalbr /]# chmod

640 /etc/pam.d/sshd

[root@drwalbr /]# chown

0.0 /etc/pam.d/sshd

200

Часть 3. Криптографическое программное обеспечение...

Шаг 4

Создайте файл /etc/init.d/sshd, содержащий следующие строки:

#!/bin/bash

#This shell script takes care of starting and stopping OpenSSH.

#chkconfig: 2345 55 25

#description: OpenSSH is a program thas allows to establish a secure remote \

#

connection to a server.

#

 

#processname: sshd

#config: /etc/ssh/ssh_host_key

#config: /etc/ssh/ssh_host_key.pub

#config: /etc/ssh/ssh_random_seed

#config: /etc/ssh/sshd_config

#pidfile: /var/run/sshd.pid

#Source function library.

. /etc/init.d/functions

#Source networking configuration.

. /etc/sysconfig/network

#Source OpenSSH configureation.

if [ -f /etc/sysconfig/sshd ] ; then

. /etc/sysconfig/sshd

fi

RETVAL=0

# Some functions to make the below more readable. KEYGEN=/usr/bin/ssh-keygen RSA1_KEY=/etc/ssh/ssh_host_key RSA_KEY=/etc/ssh/ssh_host_rsa_key DSA_KEY=/etc/ssh/ssh_host_dsa_key PID_FILE=/var/run/sshd.pid

my_success() { local msg

if [ $# -gt 1 ]; then msg="$2"

else msg="done"

fi

case "`type -type success`" in function)

success "$1"

;;

*)

echo -n "${msg}"

;;

esac

}

my_failure() { local msg

if [ $# -gt 1 ]; then msg="$2"

else msg="FAILED"

fi

case "`type -type failure`" in function)

failure "$1"

;;

Соседние файлы в предмете Информатика