- •Общие принципы взаимодействия программных средств.
- •План
- •Взаимодействие программ
- •Проблема взаимодействия
- •Примеры
- •Разный порядок байтов
- •Протоколы
- •Основная идея
- •Основной подход к реализации протоколов
- •Модель OSI
- •Инкапсуляция
- •Сериализация/десериализа
- •Сериализация бинарного дерева
- •Преимущества и недостатки
- •Выводы
- •Протоколы разных уровней
- •Информация по стандартам и протоколам
- •Физический уровень
- •Канальный уровень
- •Сетевой уровень
- •Транспортный уровень
- •Протокол TCP
- •Сессионный уровень
- •Уровень представления данных
- •Уровень прикладных программ
- •Распределенне информационные системы
- •Основные подходы к разработке
- •Основные подходы к построению распределенных
- •Типы распределенных приложений
- •Одноярусные (one tier)
- •Двухярусные (two tier)
- •Трехярусные (three tier, middleware)
- •Многоярусные (many tier)
- •Клиент-сервер (терминальный доступ)
- •Серверы на обычной машине
- •Запуск удаленных программ и перенаправление ввода- вывода
- •Преимущества и недостатки
- •Схема работы
- •SSH сервер
- •SSH клиент
- •Аутентификация и авторизация
- •SSH авторизация
- •Ключи
- •Авторизация ключа
- •Запуск команд на удаленной машине
- •Запуск виртуальных машин
- •RSH – remote shell
- •Особенности rsh
- •Доступ по rsh без пароля
SSH клиент
Позволяет присоединиться к машине, где работает sshd и выполнять там команды пользователя
Аутентификация и авторизация
При входе на удаленную машину необходимо пройти проверку прав доступа
Аутентификация – определение “кто такой, откуда, куда, зачем …”
Авторизация – что определенному пользователю можно делать
SSH авторизация
На основе имени пользователя и пароля
На основании открытого ключа – без пароля
Ключи
Приватный ключ позволяет расшифровать данные, а публичный – зашифровать
Генерация пары ключей
Приватный /home/<user>/.ssh/id_dsa
Публичный /home/<user>/.ssh/id_dsa.pub
Авторизация ключа
Публичный ключ должен быть записан на
удаленном узле в файл
/home/<user>/.ssh/authorized_keys
После этого возможен доступ без пароля
Запуск команд на удаленной машине
Команда, которая запускается указывается как параметр ssh
Стандартный ввод и стандартный вывод команды соответствует стандартному вводу-выводу ssh клиента
Пример: cat выполняется на node2, а wc – на cluster
Запуск виртуальных машин
Большинство параллельных программ, которые рассчитаны на работу с кластерами используют ssh
GAMESS
Виртуальные машины MPI, PVM используют ssh
RSH – remote shell
Более старый вариант без шифрования
Порты 514/shell и 513/login
Работа через демон inetd
Есть возможность установить доступ без пароля
Особенности rsh
Inetd слушает необходимые порты, при наличии соединений запускает обработчик запросов с этого порта
in.rlogind удаленный терминал
in.rshd удаленное выполнение команд
Демон inetd слушает порты 513 514
in.rlogind |
|
in.rshd |
Запускается |
|
Запускается |
при наличии |
|
при наличии |
соединения |
|
соединения |
|
|
|
Обработка пользовательских команд
Доступ по rsh без пароля
Файл /etc/hosts.equiv администратор добавляет список авторизированных машин
Файл ~/.rhosts пользователь добавляет список авторизированных машин