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

на главную

Жанры

Сетевые средства 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, в котором реализовано несколько механизмов аутентификации.

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

Сильнейший ученик. Том 2

Ткачев Андрей Юрьевич
2. Пробуждение крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сильнейший ученик. Том 2

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

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

Новик

Ланцов Михаил Алексеевич
2. Помещик
Фантастика:
альтернативная история
6.67
рейтинг книги
Новик

Объединитель

Астахов Евгений Евгеньевич
8. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Объединитель

Сердце Дракона. нейросеть в мире боевых искусств (главы 1-650)

Клеванский Кирилл Сергеевич
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.51
рейтинг книги
Сердце Дракона. нейросеть в мире боевых искусств (главы 1-650)

Возвращение

Кораблев Родион
5. Другая сторона
Фантастика:
боевая фантастика
6.23
рейтинг книги
Возвращение

Проданная невеста

Wolf Lita
Любовные романы:
любовно-фантастические романы
5.80
рейтинг книги
Проданная невеста

Газлайтер. Том 15

Володин Григорий Григорьевич
15. История Телепата
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Газлайтер. Том 15

Магнатъ

Кулаков Алексей Иванович
4. Александр Агренев
Приключения:
исторические приключения
8.83
рейтинг книги
Магнатъ

Разбуди меня

Рам Янка
7. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
остросюжетные любовные романы
5.00
рейтинг книги
Разбуди меня

Александр Агренев. Трилогия

Кулаков Алексей Иванович
Александр Агренев
Фантастика:
альтернативная история
9.17
рейтинг книги
Александр Агренев. Трилогия

Мерзавец

Шагаева Наталья
3. Братья Майоровы
Любовные романы:
современные любовные романы
эро литература
короткие любовные романы
5.00
рейтинг книги
Мерзавец

Я еще граф

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

Законы Рода. Том 4

Flow Ascold
4. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 4