Как сгенерировать открытый и закрытый ключ SSH для работы с суперкомпьютерами МГУ
Инструкции приводятся на примере суперкомпьютера "Чебышёв". Для других суперкомпьютеров действия аналогичны. Если у вас уже есть ключ, можно использовать его, не генерируя новый. В этом случае для Windows пропустите пункты генерации ключа, выполнив вместо них загрузку готового файла .ppk в программу putty-keygen (п.8 и далее), а для Linux или MacOS - просто используйте готовый открытый ключ.
Для систем MS Windows
Если Вы используете программу "SSH Client", по вспользуйтесь инструкцией здесь.
- Установите программу puttygen (входит в состав putty и WinSCP)
- Запустите программу puttygen, нажмите кнопку "Generate" (рис. 1)
Рис. 1. - Двигайте мышью над пустым полем окна программы, пока полоса прогресса вверху не дойдёт до конца
- Мы рекомендуем изменить комментарий ключа для того, чтобы всегда идентифицировать ключ (рис. 2). Этот шаг необязателен. Не используйте русских букв. Рекомендуемый текст комментария: mgu-username, где username — предпочтительное имя Вашей учётной записи на кластере. Формат может быть другим, это не принципиально.
Рис. 2. - Придумайте и введите пароль ключа в поля "Key passphrase" и "Confirm passphrase" (рис. 3)
Рис. 3. - Сохраните закрытую (приватную) часть ключа. Лучше всего сохранить его на сменный flash-накопитель. Ни в коем случае не сохраняйте его на рабочий стол или в папку "Мои документы" - этот файл не должен попасть в чужие руки. Для сохранения нажмите кнопку "Save private key".
- Теперь необходимо сохранить открытую (публичную) часть ключа. Этот файл может быть доступен любому человеку. Для сохранения выделите всё текстовое поле "Public key for passing..." (рис 4). Затем нажмите Ctrl+C или в контекстном меню над этим же полем выберите "Копировать". Откройте текстовый редактор (желательно Notepad), выберите в меню "Редактировать/вставить". Убедитесь, что вставленный текст записан в одну длинную строку. Сохраните полученный файл в любое удобное Вам место на компьютере. ВНИМАНИЕ! Сохраняйте файл в текстовом формате (txt), ни в коем случае не в формате редактора (doc, docx, odt, и т.п.).
Рис. 4. - Теперь для доступа на суперкомпьютер Вам необходимо указать закрытый ключ в настройках клиента ssh. Продемонстрируем на примере putty. Запустите программу. Перейдите в категорию "Connection/SSH/Auth" и нажмите кнопку "Browse" (Рис. 5). Выберите файл с закрытым ключом.
Рис. 5. - Вернитесь в категорию "Session", в поле "Host Name" укажите адрес суперкомпьютера (skif-mgu.parallel.ru для "Чебышёва", lomonosov.parallel.ru для "Ломоносова", и п.д.) (Рис. 6). Для ускорения последующих входов, в поле "Saved sessions" введите имя сессии, например "mgu", и нажмите кнопку "Save" (Рис. 7).
Рис. 6. - Этот пункт опционален, но может помочь предотвратить пробемы с отображением русских букв и оформления программ типа mc. Перейдите на вкладку Window/Translation, в списке Remote character set выберитет UTF-8. Вернитесь на вкладку Session и нажмите Save.
- Теперь можно нажать кнопку "Open", ввести имя пользователя после появившегося приглашения, и пароль к Вашему ключу. При новом входе, выберите пункт "mgu" в списке сохранённых сессий и нажмите "Load", а затем "Open".
Рис. 7. -
Открытый ключ теперь нужно указать в Вашем профиле на сайте https://users.parallel.ru. Как это сделать смотрите ниже.
Для систем Linux/UNIX/MacOS
- Данная инструкция приведена для OpenSSH. Для других реализаций, вам необходимо сгенерировать пару ключей (открытый/закрытый) средствами установленной реализации и сконвертировать открытый ключ в формат OpenSSH. Затем, перейдите к п. 5 данной инструкции.
- Далее везде предполагаем, что Ваш логин на суперкомпьютере user1, а имя файла для ключа - mgu. Имя файла вы можете выбрать самостоятельно.
- На своём компьютере (не на суперкомпьютере) запустите команду ssh-keygen -t rsa -b 2048 -C 'mgu-user1' -f ~/.ssh/mgu. Здесь ~/.ssh/mgu - путь к файлу ключа, каталог ~/.ssh менять не нужно. mgu-user1 - просто комментарий, который останется в тексте ключа, по нему будет легко различить тексты разных ключей. Программа предложит ввести пароль на ключ (pass phrase) - дважды введите одинаковый пароль. Не забывайте его - восстановить пароль невозможно.
- Если команда отработала успешно, будут созданы два файла - ~/.ssh/mgu - закрытый ключ и ~/.ssh/mgu.pub - открытый.
- Если вы планируете входить на кластер не только с того компьютера, на котором сгенерирован ключ, то скопируйте файл ~/.ssh/mgu на сменный накопитель и перенесите на те компьютеры, откуда Вы планируете входить. Обратите внимание на то, что после переноса необходимо сменить права на файл ключа - он не должен быть доступен на чтение или запись группе и другим пользователям. Воспользуйтесь после переноса командой chmod 600 ~/.ssh/mgu.
- Для входа ни суперкомпьютер Вы можете использовать строку: ssh -i ~/.ssh/skif_mgu user1@lomonosov.parallel.ru
- Для упрощения входа можно настроить Ваш ssh-клиент. Для этого добавьте в файл ~/.ssh/config строки (если его нет, содайте его):
Host cheb HostName lomonosov.parallel.ru User user1 IdentityFile ~/.ssh/cheb
Теперь, после регистрации (если Вы не были ранее зарегистрированы), Вы сможете входить на кластер командой ssh cheb. После соединения с кластером, Вам будет необходимо ввести пароль ключа.
Как прописать открытый ключ для доступа на суперкомпьютеры
- Войдите на сайт http://users.parallel.ru. Ознакомьтесь с инструкцией по получению доступа на суперкомпьютеры.
- Войдите в рабочий кабинет, вкладка "профиль".
- В разделе "ssh-ключи" нажмине "добавить ключ" и скопируйте текст файла с открытой частю ключа (в примере это ~/.ssh/mgu.pub).