Вход на кластер по секретному ключу

Для входа на кластер пользователь должен иметь логин (имя пользователя) и для аутентификации (подтверждения подлинности) ключ или пароль (password).
Поскольку использование ключа обеспечивает большую конфиденциальность и дает возможность избавиться от подтверждения пароля для операций типа scp (удалённого копирования файлов), доступ по ключу рассматривается в дальнейшем как более предпочтительный.
Поэтому первоначально, а также при утере пароля или ключа для обеспечения доступа к кластеру необходимо создать ключи, как это описано ниже.

Для входа на кластер из ОС Windows можно воспользоваться программой PuTTY (см. Программы удаленного доступа).


Доступ по ключу

Для организации доступа по ключу требуется выполнить следующую последовательность действий.

1. Сгенерировать и сохранить на своем компьютере приватный (секретный) и публичный ключи,
используя программу PuTTYgen из поставки PuTTY, как проиллюстрировано в инструкции [1]. При этом публичный ключ следует сохранить в файле Блокнота, копируя текст из PuTTYgen: начиная с типа ключа 'ssh-rsa' и заканчивая знаками '==' и комментарием с датой вида 'rsa-key-20150421'.
Секретный ключ рекомендуется зашифровать кодовой фразой (паролем секретного ключа, passphrase) и хранить в безопасном месте.

2. Добавить публичный ключ в файл ~/.ssh.authorized_keys каталога на сервере ( '~’ обозначает домашний каталог пользователя).   Пользователь может сделать это самостоятельно (если у него есть доступ на кластер по паролю или другому ключу, см. [1]) или отправить файл с публичным ключом администратору кластера на адрес parallel@imm.uran.ru. Администратор кластера установит публичный ключ и сообщит об этом пользователю.

3. Создать в PuTTY именованную сессию (Session) для работы на кластере с доступом по ключу, для чего вставить путь к секретному ключу в разделе Connection->SSH->Auth, вернуться в раздел Session и, заполнив поля Host Name и Saved Sessions значениями, например umt.imm.uran.ru и umt, сохранить настройки (см. [1]).

После этого работа с кластером может быть инициирована двойным нажатием на имени созданной сессии.


Использование агента аутентификации

Если секретный ключ защищён кодовой фразой (passphrase), то запуск агента аутентификации, программы Pageant из поставки PuTTY (см. инструкцию [2]), избавляет от ввода passphrase при повторном соединении по ключу с кластером на период времени до завершения работы агента.

Pageant можно запустить, например, двойным кликом на секретном ключе и набором его кодовой фразы (если есть). В результате в системной области панели задач (внизу справа ) появится иконка Pageant.
Далее (при каждом входе на кластер) правой кнопкой мыши открываем меню и выбираем для запуска нужную сессию (umt).


Генерация ключей в UNIX

В UNIX-системах для генерации ключей используется утилита ssh-keygen,
создающая два файла: ~/.ssh/id_rsa и ~/.ssh/id_rsa.pub (имена по умолчанию),
агент аутентификации запускается с помощью утилиты ssh-agent.


Совместное использование ключа и пароля

Имея доступ по ключу, пользователь при необходимости может запросить пароль у администратора кластера. Администратор создает пароль (password) и кладет его в домашний каталог пользователя, сообщая ему об этом.
Пользователь всегда может изменить пароль командой passwd.

Надо иметь в виду, что при входе на кластер сначала делается попытка пройти аутентификацию по ключу, а в случае неудачи - по паролю.
В PuTTY удобнее иметь разные сессии для доступа по ключу или паролю.

При доступе по паролю вводить password требуется всегда. В случае использования ключа кодовая фраза (passphrase) запрашивается (если есть), но возможно только один раз и возможно для доступа ко многим системам. Поэтому кодовая фраза может быть более сложной, что повышает безопасность, не слишком усложняя работу пользователя.


Основные ссылки

1. Настройка аутентификации по ключу в PuTTY
2. Работа с агентом аутентификации в PuTTY