hosting:ssh:key-based-auth

2.10.9. SSH-аутентификация по ключам

Чтобы настроить SSH-аутентификацию по ключам, необходимо сгенерировать пару ключей и добавить публичный ключ на сервере.

Ключи можно использовать, например, при подключении по SSH или при настройке подключения в WinSCP.

Сгенерировать пару ключей можно любым из способов:

Возможность генерации ключей в консоли доступна в следующих ОС:

  • Windows 10 с установленным обновлением Fall Creators Update.
  • macOS.
  • Linux.

Чтобы сгенерировать пару ключей в консоли, выполните следующее:

  1. Откройте консоль:
  2. Перейдите в каталог .ssh, выполнив команду:
    • В Windows:
      cd %userprofile%\.ssh

      Если каталога не существует, создайте его командой:

      mkdir %userprofile%\.ssh

    • В Linux и macOS:

      cd ~/.ssh

      Если каталога не существует, создайте его командой:

      mkdir ~/.ssh

  3. Сгенерируйте пару ключей, выполнив команду:

    ssh-keygen -t rsa -b 2048

    Программа предложит указать каталог, в который будут сохранены файлы ключей, и попросит ввести секретную фразу. Нажмите Enter, чтобы использовать параметры по умолчанию. Запомните вывод строки The key fingerprint is:.
    С параметрами по умолчанию ключи сохранятся в подкаталоге .ssh домашнего каталога пользователя. Это будут два файла:

    • id_rsa — приватный ключ.
    • id_rsa.pub — публичный ключ.
  4. Выведите содержимое публичного ключа, выполнив команду:
    • В Windows:

      type %userprofile%\.ssh\id_rsa.pub

    • В Linux и macOS:

      cat ~/.ssh/id_rsa.pub

  5. Скопируйте выведенное содержимое ключа и добавьте его на сервере.

Чтобы сгенерировать пару ключей с помощью PuTTY, выполните следующее:

  1. Сгенерируйте секретный ключ в формате PuTTY с помощью утилиты PuTTYgen:
    1. Запустите puttygen.exe.
    2. Напротив «Generate a public/private key pair» нажмите «Generate».
    3. Сохраните сгенерированный приватный ключ, нажав «Save private key».
    4. Скопируйте содержимое публичного ключа из поля «Public key for pasting into OpenSSH authorized_keys file» и добавьте его на сервере.
  2. Запустите PuTTY.
  3. Откройте раздел настроек «Connection → SSH → Auth».
  4. Рядом с полем «Private key for Authentification» нажмите «Browse» и выберите файл сгенерированного приватного ключа.
  5. Сохраните настройки и подключитесь к серверу.

Чтобы добавить публичный ключ на сервере, выполните следующее:

  1. Откройте раздел «ХостингSSH-доступ».
  2. Укажите данные нового ключа и нажмите «Добавить ключ»:
    • «Новый ключ» — вставьте скопированное содержимое публичного ключа.
    • «Email» — укажите почтовый ящик.
  3. После добавления ключа информация о нём отобразите ниже. Сравните отпечаток, который выводился при генерации (отображался в строке напротив The key fingerprint is:), с отпечатком в строке «Отпечаток»:
  4. Если отпечатки совпадают, то при подключении по SSH пароль больше запрашиваться не будет.
  • hosting/ssh/key-based-auth.txt
  • Последние изменения: 2019/11/01 10:48
  • — zinenko