Kniga-Online.club

Родерик Смит - Сетевые средства Linux

Читать бесплатно Родерик Смит - Сетевые средства Linux. Жанр: Программное обеспечение издательство -, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

9. Задайте команду list. Данная команда, помимо прочих сведений, должна отобразить запись для X-сервера, которую вы только что включили. Если такая запись отсутствует, это значит, что какие-то из предшествующих действий были выполнены неправильно.

10. Введите команду exit, чтобы завершить работу xauth и сохранить внесенные изменения. (Заметьте, что в xauth также предусмотрена команда quit, которая не сохраняет изменения. Команду quit надо использовать в том случае, если при выполнении данной процедуры были допущены ошибки.)

Если на обоих компьютерах инсталлированы средства SSH, вы можете вместо описанной выше процедуры выполнить единственную команду.

# xauth list x_сервер:0 | sed -e 's/^ /add /' | ssh

 x_клиент -х xauth

В данном случае xauth вызывается в командной строке, sed используется для включения команды add в начало выходных данных, кроме того, утилита xauth запускается также на стороне X-клиента. При вызове данной команды необходимо учитывать следующее.

• Вместо x_сервер надо указать имя компьютера, за которым вы работаете, а вместо x_клиент — имя компьютера, на котором должна выполняться клиент-программа.

• Между add и последующей косой чертой (/) должен быть пробел. Эта команда передается утилите xauth на клиентском компьютере, и пробел должен отделять add от имени дисплея.

• Если конфигурация SSH предполагает ввод пароля либо фразы пароля, вам придется ввести соответствующие данные.

С этого момента X-сервер будет принимать обращения от X-клиентов, но, чтобы эти программы могли работать совместно, вам придется установить на клиентском компьютере опцию, позволяющую взаимодействовать с X-сервером (этот вопрос будет подробнее рассмотрен в следующем разделе). При установлении соединения клиент X Window обратится к файлу .Xauthority за ключом, соответствующим серверу.

Поскольку работа xauth основана на применении ключа, который известен только серверу и авторизованному клиенту, она обеспечивает более высокий уровень защиты, чем xhost. Кроме того, при использовании xauth доступ к серверу предоставляется только отдельным пользователям. X-сервер становится более устойчивым к атакам, осуществляемым путем подмены IP-адреса. Недостатком данного способа является передача ключей в незакодированном виде. Если локальная сеть не обеспечивает безопасность передаваемых данных либо если клиент с сервером взаимодействуют по Internet, ключ может быть похищен и злоумышленник получит доступ к X-серверу. Если при обмене данными в системе X Window необходимо обеспечить высокий уровень защиты, надо использовать SSH-соединение. Вопросы поддержки X-взаимодействия посредством SSH будут подробно рассмотрены в следующем разделе.

На заметку

Не все X-серверы сконфигурированы для работы с xauth. Соответствующая опция обычно устанавливается в том случае, когда X-сервер запускается посредством XDM, GDM или KDM. Если вы запускаете X-сервер с помощью startx, поддержка xauth в ряде систем будет отсутствовать. В некоторых случаях вам придется отредактировать сценарий startx (он обычно располагается в каталоге /usr/X11R6/bin) так, чтобы в нем присутствовала опция -auth файл_авторизации; в качестве файла авторизации обычно указывается файл .Xauthority, находящийся в рабочем каталоге. Часто в редактировании startx нет необходимости.

Настройка X-клиента для работы с Х-сервером

Независимо от того, используете ли вы xhost или xauth, вы должны сконфигурировать клиентскую систему для работы с нужным X-сервером. Если, например, вы работаете за компьютером term.threeroomco.com, зарегистрировались на узле biggie.threeroomco.com и хотите, чтобы программа использовала компьютер wrongone.threeroomco.com в качестве X-терминала, вам не удастся сделать это. По умолчанию многие версии Linux сконфигурированы так, что даже если пользователь зарегистрировался с внешнего узла, они будут работать с локальным X-сервером.

При запуске X-программа читает значение переменной окружения DISPLAY и определяет, какой X-сервер следует использовать. Чтобы определить текущее значение этой переменной, надо на компьютере, выполняющем роль X-клиента, вызвать следующую команду:

$ echo $DISPLAY

biggie.threeroomco.com:0.0

Если отображаемая с помощью этой команды строка (в данном случае biggie.threeroomco.com:0.0) соответствует вашему серверу, вам не надо предпринимать никаких действий. (Первый дисплей обычно имеет номер 0 или 0.0; эти два значения эквивалентны.) Если же значение переменной DISPLAY указывает на X-клиент или другую систему либо если оно вовсе не определено, вам надо задать новое значение данной переменной. Необходимая для этого команда выглядит следующим образом:

$ export DISPLAY=term.threeroomco.com:0

Очевидно, что имя узла должно определять ваш X-сервер. При последующих запусках X-программа будет пытаться взаимодействовать с указанным сервером. Чтобы эти попытки были успешными, вам надо настроить X-сервер для работы с X-клиентом, т.е. запустить программу xhost, или создать запись xauth для клиента.

Туннелирование X-соединений через SSH

Из материала, рассмотренного ранее в данной главе, следует, что для инициализации Х-соединения используются два отдельных, независимых друг от друга протокола. Во-первых, работая на компьютере, выполняющем роль X-сервера, вы используете клиент-программу удаленной регистрации, работающую в текстовом режиме, например программу telnet. Во-вторых, после установления соединения вы инициируете взаимодействие X-клиента с X-сервером. Выполнив основные действия по установке соединений, вы можете вызвать на своем компьютере любую команду, например xclock, и соответствующая программа (в данном случае xclock) будет выполняться на удаленном компьютере. Данная конфигурация подходит для решения многих задач, но при ее использовании могут возникать проблемы. Одна из этих проблем связана с тем, что в сеансе X-взаимодействия данные передаются в незакодированном виде и могут быть перехвачены. Тот факт, что на каждом из взаимодействующих компьютеров должен выполняться сервер, также можно считать недостатком. Если эти компьютеры разделены брандмауэром или маршрутизатором, осуществляющим маскировку пакетов, эти программы должны быть сконфигурированы специальным образом, иначе обмен по протоколу X Window станет невозможным. Одно из возможных решений обеих проблем состоит в использовании протокола SSH. Этот протокол может применяться как для установления начального соединения между X-клиентом и X-сервером, так и для туннелирования данных, передаваемых в рамках этого соединения.

Основные вопросы, связанные с настройкой и использованием SSH, рассматривались в главе 13. Для того чтобы туннелирование протокола X Window посредством SSH стало возможным, надо соответствующим образом сконфигурировать средства поддержки SSH.

• В конфигурационном файле/etc/ssh/ssh_config клиентской программы SSH (эта программа выполняется на том компьютере, на котором расположен X-сервер) следует задать значение yes опции ForwardX11. Аналогичный результат можно получить, указав при запуске ssh опцию -X. (Обратите внимание на регистр символа; если в опции -х вы зададите символ нижнего регистра, туннелирование будет запрещено.)

• В файле/etc/ssh/sshd_config на компьютере, на котором выполняется SSH-сервер (эта машина играет роль клиента в X-взаимодействии), опция X11Forwarding должна иметь значение yes. Эта опция сообщает серверу SSH о том, что локальные вызовы X-сервера должны перехватываться и направляться SSH-клиенту.

При туннелировании X-соединения сервер SSH "подменяет" локальный X-сервер. Если конфигурация установлена правильно, средства поддержки SSH устанавливают переменную окружения DISPLAY таким образом, что X программы передают данные через порт локального X-сервера (по умолчанию это X-сервер 10, или TCP-порт 6010). С этим портом связывается сервер SSH. Вместо того чтобы отображать информацию на локальной машине, сервер SSH кодирует ее и передает клиенту SSH. Клиент, в свою очередь, запрашивает локальный X-сервер (он определяется значением переменной окружения DISPLAY на этом компьютере), а данные, полученные в результате этого обращения, передает серверу SSH, который доставляет информацию X-клиенту. Таким образом, сервер SSH "выдает себя" за X-сервер, а клиент SSH "подменяет" клиентскую программу X Window.

Такой подход имеет ряд преимуществ по сравнению с обычным X-обменом. Для взаимодействия двух компьютеров используется лишь одно соединение, что упрощает настройку сетевых средств. Если вы хотите спрятать X-сервер за брандмауэром или маршрутизатором, выполняющим NAT-преобразование, это проще сделать при работе посредством SSH, чем в случае, когда используется Telnet или другой протокол удаленной регистрации. Кроме того, протокол SSH предполагает кодирование передаваемых данных. Поэтому если информация будет перехвачена по пути от одного компьютера к использовать ее вряд ли удастся. Туннелирование X-соединения средствами SSH имеет один недостаток. Как известно, для кодирования информации приходится выполнять большой объем вычислений, поэтому использование SSH создает дополнительную нагрузку на процессоры компьютеров на обоих концах соединения. В результате скорость обмена X-клиента с X-сервером снижается. Замедление работы вследствие использования SSH заметно при скорости процессора около 200 МГц, однако во многих случаях повышение уровня защиты оправдывает уменьшение производительности компьютеров. Чтобы снизить требования к пропускной способности линий, можно использовать сжатие информации. С другой стороны, сжатие данных создает дополнительную нагрузку на процессор, что может еще больше уменьшить скорость обмена. Желательно испробовать обмен данными со сжатием и без сжатия и экспериментально определить, какой режим более благоприятен для компьютера и сетевых средств.

Перейти на страницу:

Родерик Смит читать все книги автора по порядку

Родерик Смит - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


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

Отзывы читателей о книге Сетевые средства Linux, автор: Родерик Смит. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*