Как сгенерировать открытый и закрытый ключ SSH для работы с суперкомпьютерами МГУ

Инструкции приводятся на примере суперкомпьютера "Чебышёв". Для других суперкомпьютеров действия аналогичны. Если у вас уже есть ключ, можно использовать его, не генерируя новый. В этом случае для Windows пропустите пункты генерации ключа, выполнив вместо них загрузку готового файла .ppk в программу putty-keygen (п.8 и далее), а для Linux или MacOS - просто используйте готовый открытый ключ.

Для систем MS Windows

Если Вы используете программу "SSH Client", по вспользуйтесь инструкцией здесь.

  1. Установите программу puttygen (входит в состав putty и WinSCP)
  2. Запустите программу puttygen, нажмите кнопку "Generate" (рис. 1)
    Puttygen
    Рис. 1.
  3. Двигайте мышью над пустым полем окна программы, пока полоса прогресса вверху не дойдёт до конца
  4. Мы рекомендуем изменить комментарий ключа для того, чтобы всегда идентифицировать ключ (рис. 2). Этот шаг необязателен. Не используйте русских букв. Рекомендуемый текст комментария: mgu-username, где username — предпочтительное имя Вашей учётной записи на кластере. Формат может быть другим, это не принципиально.

    Рис. 2.
  5. Придумайте и введите пароль ключа в поля "Key passphrase" и "Confirm passphrase" (рис. 3)

    Рис. 3.
  6. Сохраните закрытую (приватную) часть ключа. Лучше всего сохранить его на сменный flash-накопитель. Ни в коем случае не сохраняйте его на рабочий стол или в папку "Мои документы" - этот файл не должен попасть в чужие руки. Для сохранения нажмите кнопку "Save private key".
  7. Теперь необходимо сохранить открытую (публичную) часть ключа. Этот файл может быть доступен любому человеку. Для сохранения выделите всё текстовое поле "Public key for passing..." (рис 4). Затем нажмите Ctrl+C или в контекстном меню над этим же полем выберите "Копировать". Откройте текстовый редактор (желательно Notepad), выберите в меню "Редактировать/вставить". Убедитесь, что вставленный текст записан в одну длинную строку. Сохраните полученный файл в любое удобное Вам место на компьютере. ВНИМАНИЕ! Сохраняйте файл в текстовом формате (txt), ни в коем случае не в формате редактора (doc, docx, odt, и т.п.).

    Рис. 4.
  8. Теперь для доступа на суперкомпьютер Вам необходимо указать закрытый ключ в настройках клиента ssh. Продемонстрируем на примере putty. Запустите программу. Перейдите в категорию "Connection/SSH/Auth" и нажмите кнопку "Browse" (Рис. 5). Выберите файл с закрытым ключом.

    Рис. 5.
  9. Вернитесь в категорию "Session", в поле "Host Name" укажите адрес суперкомпьютера (skif-mgu.parallel.ru для "Чебышёва", lomonosov.parallel.ru для "Ломоносова", и п.д.) (Рис. 6). Для ускорения последующих входов, в поле "Saved sessions" введите имя сессии, например "mgu", и нажмите кнопку "Save" (Рис. 7).

    Рис. 6.
  10. Этот пункт опционален, но может помочь предотвратить пробемы с отображением русских букв и оформления программ типа mc. Перейдите на вкладку Window/Translation, в списке Remote character set выберитет UTF-8. Вернитесь на вкладку Session и нажмите Save.
  11. Теперь можно нажать кнопку "Open", ввести имя пользователя после появившегося приглашения, и пароль к Вашему ключу. При новом входе, выберите пункт "mgu" в списке сохранённых сессий и нажмите "Load", а затем "Open".

    Рис. 7.
  12. Открытый ключ теперь нужно указать в Вашем профиле на сайте https://users.parallel.ru. Как это сделать смотрите ниже.

Для систем Linux/UNIX/MacOS

  1. Данная инструкция приведена для OpenSSH. Для других реализаций, вам необходимо сгенерировать пару ключей (открытый/закрытый) средствами установленной реализации и сконвертировать открытый ключ в формат OpenSSH. Затем, перейдите к п. 5 данной инструкции.
  2. Далее везде предполагаем, что Ваш логин на суперкомпьютере user1, а имя файла для ключа - mgu. Имя файла вы можете выбрать самостоятельно.
  3. На своём компьютере (не на суперкомпьютере) запустите команду ssh-keygen -t rsa -b 2048 -C 'mgu-user1' -f ~/.ssh/mgu. Здесь ~/.ssh/mgu - путь к файлу ключа, каталог ~/.ssh менять не нужно. mgu-user1 - просто комментарий, который останется в тексте ключа, по нему будет легко различить тексты разных ключей. Программа предложит ввести пароль на ключ (pass phrase) - дважды введите одинаковый пароль. Не забывайте его - восстановить пароль невозможно.
  4. Если команда отработала успешно, будут созданы два файла - ~/.ssh/mgu - закрытый ключ и ~/.ssh/mgu.pub - открытый.
  5. Если вы планируете входить на кластер не только с того компьютера, на котором сгенерирован ключ, то скопируйте файл ~/.ssh/mgu на сменный накопитель и перенесите на те компьютеры, откуда Вы планируете входить. Обратите внимание на то, что после переноса необходимо сменить права на файл ключа - он не должен быть доступен на чтение или запись группе и другим пользователям. Воспользуйтесь после переноса командой chmod 600 ~/.ssh/mgu.
  6. Для входа ни суперкомпьютер Вы можете использовать строку: ssh -i ~/.ssh/skif_mgu user1@lomonosov.parallel.ru
  7. Для упрощения входа можно настроить Ваш ssh-клиент. Для этого добавьте в файл ~/.ssh/config строки (если его нет, содайте его):
    Host cheb
    HostName lomonosov.parallel.ru
    User user1
    IdentityFile ~/.ssh/cheb
    

    Теперь, после регистрации (если Вы не были ранее зарегистрированы), Вы сможете входить на кластер командой ssh cheb. После соединения с кластером, Вам будет необходимо ввести пароль ключа.

Как прописать открытый ключ для доступа на суперкомпьютеры

  1. Войдите на сайт http://users.parallel.ru. Ознакомьтесь с инструкцией по получению доступа на суперкомпьютеры.
  2. Войдите в рабочий кабинет, вкладка "профиль".
  3. В разделе "ssh-ключи" нажмине "добавить ключ" и скопируйте текст файла с открытой частю ключа (в примере это ~/.ssh/mgu.pub).