Как создать и разместить на сервере SSH-ключи

В этой статье мы расскажем о том, как создать SSH-ключ и добавить SSH-ключ на сервер. 

При подключении к серверу по SSH для аутентификации обычно используется логин и пароль. Безопасность такого способа во многом зависит от сложности пароля: чем он сложнее, тем сложнее его подобрать. При каждом подключении к серверу придётся вводить этот пароль вручную или откуда-то копировать (например, из менеджера паролей).

Но есть способ, который упрощает вход на сервер и повышает безопасность подключения. Это аутентификация по SSH-ключу. Вам не придётся вводить пароль при каждом подключении к серверу по SSH. Аутентификация будет проходить по ключу, который хранится на вашем компьютере. 

Всего для такой аутентификация используется два ключа:

  • приватный ― этот ключ будет храниться на диске вашего компьютера. Его нельзя никому показывать и пересылать;
  • публичный (открытый) ― его нужно будет поместить на сервер.

Ниже создадим пару ключей на вашем компьютере, а затем поместим открытый ключ на сервер. 

Как создать SSH-ключ

Способы создания ключей в каждой ОС отличаются. Выберите вашу операционную систему и следуйте инструкции.

Linux

  1. Откройте терминал.
  2. Запустите генератор SSH-ключей:
    ssh-keygen
  3. Выберите директорию, в которой хотите сохранить файл. Если хотите оставить путь по умолчанию, нажмите Enter.
  4. Для дополнительной защиты можно указать кодовую фразу. Она будет периодически запрашиваться при подключении к серверу. Если не хотите задавать фразу, пропустите этот шаг клавишей Enter.

Готово, приватный и открытый ключи сгенерированы и сохранены в директории, которую вы выбрали на 3 шаге. 

Windows

В Windows есть несколько способов генерации ключа. Мы расскажем, как создать SSH-ключ в Windows при помощи утилиты «puttygen.exe». Для этого:

  1. Скачайте «puttygen.exe» на официальном сайте:PuTTygen для Windows
  2. Запустите утилиту и нажмите Generate:Интерфейс PuTTygen
  3. Двигайте курсором внутри окна, пока не заполнится полоса загрузки:Псевдослучайная генерация ключа
  4. Скопируйте публичный ключ и сохраните его в текстовом файле. Приватный ключ сохраните при помощи кнопки Save private key:
    Сохранить сгенерированный SSH-ключ

Готово, вы сгенерировали и сохранили SSH-ключи.

macOS

  1. Откройте терминал.
  2. Запустите генератор SSH-ключей командой:
    ssh-keygen -t rsa
  3. Выберите директорию, в которой хотите сохранить файл. Если хотите оставить путь по умолчанию, нажмите Enter.
  4. Для дополнительной защиты можно указать кодовую фразу. Она будет периодически запрашиваться при подключении к серверу. Если не хотите задавать фразу, пропустите этот шаг клавишей Enter.

Готово, приватный и открытый ключи сгенерированы и сохранены в директории, которую вы выбрали на 3 шаге.

Как добавить SSH-ключ на сервер

Linux

  1. Откройте терминал.
  2. Скопируйте открытый ключ на сервер командой:
    ssh-copy-id root@123.123.123.123
    Где:
    - root ― логин пользователя на сервере,
    - 123.123.123.123 ― IP-адрес сервера. 
  3. Введите пароль от сервера. 

Готово, вы добавили публичный ключ на сервер. Теперь при подключении с вашего компьютера пароль не будет запрашиваться. 

Windows

  1. Подключитесь к серверу, на который нужно добавить открытый ключ, при помощи клиента PuTTy.
  2. Создайте директорию «.ssh» командой:
    mkdir .ssh
  3. Измените права к папке командой:
    chmod 700 .ssh
  4. Перейдите в директорию:
    cd .ssh
  5. Создайте файл с публичным ключом:
    echo your_public_key >> authorized_keys
    Вместо your_public_key скопируйте ваш открытый ключ.
  6. Добавьте приватный ключ в PuTTY. Для этого в левом меню SSH-клиента откройте SSH - Auth и нажмите Browse:
    Добавить приватный ключ в PuTTy

Готово, вы добавили ключ на сервер. 

macOS

  1. Откройте терминал.
  2. Скопируйте открытый ключ на сервер командой:
    ssh-copy-id root@123.123.123.123
    Где:
    - root ― логин пользователя на сервере,
    - 123.123.123.123 ― IP-адрес сервера. 
  3. Введите пароль от сервера. 

Готово, вы добавили публичный ключ на сервер. Теперь при подключении с вашего компьютера пароль не будет запрашиваться. 

Если вы не нашли ответ, спросите у нас!
Написать в поддержку