Вход/Регистрация
Сетевые средства 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 из различных окон.

  • Читать дальше
  • 1
  • ...
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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