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

на главную - закладки

Жанры

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

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

Шрифт:

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

• В п. 2 вместо

– t rsa -f ~/.ssh/id_rsa
следует указать
– t rsa1 -f ~/.ssh/identity
. При этом будет сгенерирована пара ключей RSA по соглашениям версии 1. Аналогичным образом надо изменить имена файлов на других стадиях процедуры.

• В п. 6 открытый ключ из

identity.pub
копируется не в
authorized_keys2
, а в файл
authorized_keys
.

• При установлении соединения, вызывая ssh, не надо указывать опцию

– 2
.

Обе описанные

здесь процедуры предполагают, что сервер сконфигурирован для выполнения аутентификации с помощью открытого ключа. Как вы уже знаете, для этой цели используются опции
RSAAutentification
(версия 1) и
PubkeyAuthentication
(версия 2), задаваемые в конфигурационном файле
/etc/ssh/sshd_config
.

Заметьте, что пользоваться SSH-соединением можно, не настраивая программы для аутентификации с помощью открытого ключа. Подобная аутентификация лишь исключает необходимость ввода пароля либо обеспечивает дополнительную степень защиты за счет использования фразы пароля.

Применение
ssh-agent

SSH-аутентификацию можно также организовать с помощью инструмента, который называется

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

• Создайте закрытый и открытый ключи, выполнив описанную выше процедуру, и скопируйте открытый ключ в свой рабочий каталог на сервере SSH. При вызове

ssh-keygen
не следует задавать опцию
– N ''
, чтобы закрытый ключ был защищен фразой пароля.

• На компьютере, на котором выполняется клиентская программа SSH, задайте команду

ssh-agent /bin/bash
, и она запустит на выполнение программу
ssh-agent
и новую оболочку Bash. В результате
ssh-agent
будет контролировать все процессы, порожденные новой оболочкой. (При необходимости вы можете использовать вместо Bash другую оболочку.)

• Чтобы добавить RSA-ключ SSH к кэшу ключей

ssh-agent
, вызовите команду
ssh-add ~/.ssh/id_rsa
. (При использовании версии 1 SSH задавать
~/.ssh/id_rsa
не следует.) Если ключ защищен фразой пароля,
ssh-add
запросит ее.

С этого момента вы можете обращаться к серверу SSH с помощью SSH-клиента; причем вам не придется вводить ни пароль, ни фразу пароля. Программа

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

Если вам необходимо установить одно соединение, данный подход не оправдывает себя, так как перед вызовом

ssh
вам необходимо запустить
ssh-agent
и включить ключи в кэш посредством
ssh-add
, кроме того, придется один раз ввести фразу пароля. Применение
ssh-agent
позволит сэкономить время в том случае, если вы регистрируетесь на нескольких компьютерах с помощью одного ключа либо если вам часто приходится повторно регистрироваться на одном компьютере. Существует несколько способов, позволяющих упростить работу с
ssh-agent
.

• Вы можете внести изменения в файл

/etc/passwd
так, чтобы оболочка вызывалась посредством
ssh-agent
. Например, если в
/etc/passwd
указана оболочка
/bin/bash
, вы можете задать в соответствующем поле
/usr/bin/ssh-agent/bin/bash
. (При
необходимости вы можете изменить путь к
ssh-agent
или использовать другую оболочку.) После этого вам не придется вручную задавать команду
ssh-agent /bin/bash
; достаточно будет зарегистрироваться в системе, ввести
ssh-add ~/.ssh/id_rsa
и использовать
ssh
для регистрации на удаленном компьютере. Данный подход применим только в том случае, когда регистрация в системе осуществляется в текстовом режиме. Если вы используете графическую среду, то для каждого нового окна xterm будет создаваться новое окружение
ssh-agent
, что приведет к непроизводительному расходу ресурсов.

• Если вы регистрируетесь в текстовом режиме и запускаете X Window с помощью

startx
, вы можете вместо этой команды задать
ssh-agent startx
. При этом
ssh-agent
становится родительской программой по отношению ко всем процессам X Window и может предоставлять им информацию о ключах.

• Если вы используете инструменты регистрации с графическим интерфейсом, вам надо сохранить файл

.xsession
(или другой файл аналогичного назначения) под именем
.xsession-nosshagent
, а затем создать новый файл .xsession, включив в него единственную команду
ssh-agent ~/.xsession-nosshagent
. В результате
ssh-agent
станет родительской программой для всех процессов X Window, и вам не придется повторно вводить ключи, добавленные в кэш программой
ssh-add
, даже если вы будете запускать клиент SSH из различных окон.

После запуска

ssh-agent
и указания ключей вы можете просмотреть введенные ключи, задав команду
ssh-add -1
. Для удаления ключей надо использовать команду
ssh-add -d
. Если после вызова
ssh-add -d
вы захотите установить SSH-соединение, вам придется повторно ввести ключ (или указать пароль).

Одно из преимуществ использования

ssh-agent
состоит в том, что для взаимодействия с различными серверами SSH вам надо лишь скопировать открытый ключ на каждый сервер. Устанавливая соединение с несколькими серверами, вы можете использовать один и тот же открытый ключ и программу
ssh-agent
. Если вы предпочитаете применять различные ключи для работы с разными серверами, вам придется хранить ключи в отдельных файлах и при загрузке каждого из них вводить соответствующую фразу пароля. Если вам понадобится установить соединение с компьютером, на котором отсутствует открытый ключ, вам придется ввести пароль так же, как вы это делаете при обычном обращении без использования
ssh-agent
.

Резюме

Сервер удаленной регистрации позволяет пользователям запускать программы и вызывать команды из оболочки во время работы на удаленном компьютере. Такой режим работы очень удобен для пользователя, но, поддерживая средства удаленной регистрации, приходится принимать дополнительные меры по обеспечению безопасности системы.

Наиболее часто в системе Linux используются серверы удаленной регистрации

rlogind
, Telnet и SSH. Из них наилучшую защиту обеспечивают средства SSH, поэтому именно их желательно использовать для установления соединения с Internet. (Существуют также разновидности Telnet, реализующие повышенный уровень защиты, но они применяются чрезвычайно редко.) Использование
rlogind
и Telnet оправдано в небольших локальных сетях, полностью контролируемых системными администраторами. В средах, в которых могут предприниматься попытки взлома систем, особенно в Internet, применять эти серверы не рекомендуется, так как их средства защиты не отвечают современным требованиям. Все три сервера достаточно просты в настройке. Если конфигурация, предложенная по умолчанию, не устраивает вас, вы можете без труда установить нужные параметры, изменяя значения опций. В особенности это относится к серверу SSH, в котором реализовано несколько механизмов аутентификации.

Поделиться:
Популярные книги

Идеальный мир для Лекаря 22

Сапфир Олег
22. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 22

Лекарь Империи 9

Карелин Сергей Витальевич
9. Лекарь Империи
Фантастика:
городское фэнтези
аниме
боевая фантастика
5.00
рейтинг книги
Лекарь Империи 9

Как я строил магическую империю 11

Зубов Константин
11. Как я строил магическую империю
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Как я строил магическую империю 11

Кодекс Охотника. Книга XXVI

Винокуров Юрий
26. Кодекс Охотника
Фантастика:
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXVI

Князь Андер Арес 5

Грехов Тимофей
5. Андер Арес
Фантастика:
историческое фэнтези
фэнтези
героическая фантастика
5.00
рейтинг книги
Князь Андер Арес 5

Барон устанавливает правила

Ренгач Евгений
6. Закон сильного
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Барон устанавливает правила

Виконт. Книга 4. Колонист

Юллем Евгений
Псевдоним `Испанец`
Фантастика:
фэнтези
попаданцы
аниме
7.50
рейтинг книги
Виконт. Книга 4. Колонист

Я Гордый часть 6

Машуков Тимур
6. Стальные яйца
Фантастика:
фэнтези
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я Гордый часть 6

Кодекс Охотника. Книга XXVII

Винокуров Юрий
27. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XXVII

Последний Паладин. Том 12

Саваровский Роман
12. Путь Паладина
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Последний Паладин. Том 12

Эфемер

Прокофьев Роман Юрьевич
7. Стеллар
Фантастика:
боевая фантастика
рпг
7.23
рейтинг книги
Эфемер

Неучтенный элемент. Том 11

NikL
11. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 11

Я еще граф. Книга #8

Дрейк Сириус
8. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Я еще граф. Книга #8

Ларь

Билик Дмитрий Александрович
10. Бедовый
Фантастика:
городское фэнтези
мистика
5.75
рейтинг книги
Ларь