Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Beyond Linux From Scratch. Version 2011-12-30
Назад 4. Безопасность Вперед

Пакет OpenSSH-5.9p1

Знакомимся с пакетом OpenSSH

В пакете OpenSSH находятся клиентские программы ssh и демон sshd. Используются для аутентификации и последующей передачи по сети шифрованного трафика.

Известно, что пакет правильно собирается и работает на платформе LFS-7.0.

Информация о пакете

Зависимости пакета OpenSSH

Обязательные

OpenSSL-1.0.0e

Необязательные

Linux-PAM-1.1.5, TCP Wrapper-7.6, X Window System, MIT Kerberos V5-1.6 или Heimdal-1.4, libedit (предоставляет для sftp средство работы с историей использования команд), OpenSC и libsectok

Необязательные времени исполнения

IcedTea6-1.9.7 или JDK-6 Update 18, Net-tools-1.60 и Sysstat-10.0.2.

Замечания для пользователей: http://wiki.linuxfromscratch.org/blfs/wiki/OpenSSH

Установка пакета OpenSSH

Когда происходит подключение к другим компьютерам, OpenSSH запускает два процесса. Первый процесс является привилегированным и управляет выдачей прав доступа по мере возникновения в них необходимости. Второй процесс взаимодействует с сетью. Для того, чтобы иметь правильно настроенную среду, необходима дополнительная настройка, которую можно выполнить в роли пользователя root с помощью следующих команд:

install -v -m700 -d /var/lib/sshd &&
chown -v root:sys /var/lib/sshd &&
groupadd -g 50 sshd &&
useradd -c 'sshd PrivSep' -d /var/lib/sshd -g sshd \
    -s /bin/false -u 50 sshd

Пакет OpenSSH очень чувствителен к изменениям в прикомпонованных библиотеках OpenSSL. После повторной компиляции пакет OpenSSH может не запуститься. В качестве альтернативы используйте ссылку на статическую библиотеку OpenSSL. Чтобы сделать ссылку на статическую библиотеку, выполните следующую команду:

sed -i 's@-lcrypto@/usr/lib/libcrypto.a -ldl@' configure

Установите пакет OpenSSH с помощью следующих команд:

sed -i.bak 's/ -ldes//' configure &&
./configure --prefix=/usr \
            --sysconfdir=/etc/ssh \
            --datadir=/usr/share/sshd \
            --libexecdir=/usr/lib/openssh \
            --with-md5-passwords \
            --with-privsep-path=/var/lib/sshd &&
make

Если вы скомпоновали tcp_wrappers с использованием параметра --with-tcp-wrappers и если у вас есть файл с ограничениями /etc/hosts.deny, то убедитесь, что вы в строку sshd файла /etc/hosts.allow добавили адрес 127.0.0.1. В противном случае набор тестов не пройдет. Кроме того, тестовый набор требует установить копию scp для того, чтобы можно было завершить выполнение тестов, использующих мультиплексирование. Чтобы запустить набор тестов, сначала в директорий /usr/bin скопируйте программу scp, предварительно убедившись, что вы перед этим сделали резервные копии всех имеющихся там файлов.

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

make tests 2>&1 | tee check.log
grep FATAL check.log

Если указанная выше команда не выдаст фатальной ошибки ("FATAL"), то в роли пользователя root приступите к установке:

make install &&
install -v -m755 -d /usr/share/doc/openssh-5.6p1 &&
install -v -m644 INSTALL LICENCE OVERVIEW README* WARNING.RNG \
    /usr/share/doc/openssh-5.6p1

Пояснение команд

sed -i.bak 's/ -ldes//' configure: Данная команда помогает справиться с невозможностью сборки пакета в случае, если вы используете параметр --with-kerberos5 и собираете пакет Heimdal в соответствие с инструкциями. Во всех других случаях команда влияния не оказывает.

--sysconfdir=/etc/ssh: Этот параметр предотвращает установку конфигурационных файлов в директорий /usr/etc.

--datadir=/usr/share/sshd: Этот переключатель указывает поместить файл Ssh.bin (используется для аутентификации смарт-карт) в директорий /usr/share/sshd.

--with-md5-passwords: Этот параметр необходим в случае, если в LFS для теневых паролей Shadow использовалось конфигурация, предлагаемая по умолчанию.

--libexecdir=/usr/lib/openssh: Этот параметр изменяет путь, используемых при установке некоторых программ, и указывает использовать /usr/lib/openssh вместо /usr/libexec.

--with-pam: Этот параметр позволяется в сборку добавлять поддержку Linux-PAM.

--with-xauth=/usr/bin/xauth: Указывает место, где по умолчанию должен находиться модуль xauth, используемый для аутентификации в X. Измените этот параметр, если пакет xauth будет устанавлен в другом месте. Эту настройку можно также сделать в файле sshd_config, использовав для этого ключевое слова XAuthLocation. Вы можете опустить этот параметр, если пакет Xorg уже установлен.

--with-kerberos5=/usr: Этот параметр позволяется в сборку добавлять поддержку Heimdal.

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

Конфигурационные файлы

~/.ssh/*, /etc/ssh/ssh_config и /etc/ssh/sshd_config

В эти файлы вносить изменения не нужно. Тем не менее, вы можете изучить файлы /etc/ssh/ и внести в них некоторые изменения, соответствующие требованиям безопасности вашей системы. Одним из рекомендуемых изменений является запрет пользователю root входить в систему через ssh. Чтобы отключить возможность пользователя root входить в систему через ssh, выполните в роли пользователя root следующую команду:

echo "PermitRootLogin no" >> /etc/ssh/sshd_config

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

sed 's@d/login@d/sshd@g' /etc/pam.d/login > /etc/pam.d/sshd &&
chmod 644 /etc/pam.d/sshd &&
echo "USEPAM yes" >> /etc/ssh/sshd_config

Дополнительную информацию о конфигурировании можно найти на страницах man команд sshd, ssh и ssh-agent.

Загрузочный скрипт

Чтобы запускать сервер SSH во время загрузки системы, установите загрузочный скрипт /etc/rc.d/init.d/sshd, который находится в пакете blfs-bootscripts-20111216.

make install-sshd

Описание пакета

Установленные программы: scp, sftp, sftp-server, slogin, ssh, sshd, ssh-add, ssh-agent, ssh-keygen, ssh-keyscan и ssh-keysign

Установленные библиотеки: Нет

Установленные директории: /etc/ssh, /var/lib/sshd, /usr/lib/openssh и /usr/share/doc/openssh-5.6p1

Краткое описание

scp

программа копирования файлов, который действует как программа rcp, за исключением лишь того, что она использует защищенный протокол

sftp

является программой, похожей на FTP, которая работает поверх протоколов SSH1 и SSH2

sftp-server

является подсистемой сервера SFTP. Эта программа обычно не вызывается непосредственно пользователем

slogin

символическая ссылка на ssh

ssh

клиентская программа, похожая на rlogin/rsh, за исключением лишь того, что она использует защищенный протокол

sshd

демон, который через ssh принимает запросы на вход в систему

ssh-add

инструментальное средство, с помощью которого в ssh-agent добавляются ключи

ssh-agent

является агентом аутентификации, которая может хранить закрытые ключи

ssh-keygen

является инструментальным средством генерации ключей

ssh-keyscan

утилита сбора открытых ключей с ряда хостов

ssh-keysign

используется программой ssh для доступа к ключам локальных хостов и генерации цифровой подписи, необходимой для аутентификации по протоколу SSH версии 2 и при использовании отдельного хоста. Эта программа обычно не вызывается непосредственно пользователем

Перевод сделан с варианта оригинала, датированного 2011-10-20 01:45:13 +0000


Предыдущий раздел: Оглавление Следующий раздел:
Пакет NSS-3.13.1   Пакет OpenSSL-1.0.0e