Меню Закрыть

Генерация SSH-ключа

image_pdfimage_print

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

Для систем MS Windows

  1. Установите программу puttygen (входит в состав putty и WinSCP)
  2. Запустите программу puttygen, нажмите кнопку «Generate»
  3. Двигайте мышью над пустым полем окна программы, пока полоса прогресса вверху не дойдёт до конца
  4. Мы рекомендуем изменить комментарий ключа для того, чтобы всегда идентифицировать ключ. Этот шаг необязателен. Не используйте русских букв. Рекомендуемый текст комментария: iam-username, где username — предпочтительное имя Вашей учётной записи на кластере. Формат может быть другим, это не принципиально.
  5. Для дальнейшего доступа на кластер Вам нужен будет ваш приватный ключ. Учетная запись может быть скомпрометирована если злоумышленник завладеет файлом приватного ключа. Чтобы этого не случилось, приватный ключ можно дополнительно зашифровать (но не обязательно). Для этого придумайте и введите пароль ключа в поля «Key passphrase» и «Confirm passphrase». Тогда при каждом использовании этого ключа система будет запрашивать у Вас пароль от него.
  6. Рекомендуется использовать тип ключа RSA длиной не менее 2048 бит. Большую длину установить можно. Поддержка других типов ключей (DSA,ECDSA,SSH-1,…) на кластере не гарантируется.
  7. Сохраните закрытую (приватную) часть ключа. Лучше всего сохранить его на сменный flash-накопитель. Ни в коем случае не сохраняйте его на рабочий стол или в папку «Мои документы» — этот файл не должен попасть в чужие руки. Для сохранения нажмите кнопку «Save private key». Этого файла достаточно, чтобы зайти на кластер под Вашей учетной записью.
  8. (Не обязательно) рекомендуется также экспортировать приватный ключ в формате OpenSSH для более широкой поддержки другими клиентами. Это делается в меню «Conversions» -> «Export OpenSSH Key».
  9. Теперь необходимо сохранить открытую (публичную) часть ключа. Этот файл может быть доступен любому человеку. Вы можете использовать ключ для доступа к любому серверу в будущем, не обязательно к кластеру. Для сохранения выделите всё текстовое поле «Public key for passing…». Затем нажмите Ctrl+C или в контекстном меню над этим же полем выберите «Копировать». Откройте текстовый редактор (желательно Notepad), выберите в меню «Редактировать/вставить». Убедитесь, что вставленный текст записан в одну длинную строку. Этот текст нужно направлять в заявке на регистрацию учетной записи.

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

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

Связанные записи