Як створити SSH-ключі за допомогою OpenSSH на MacOS або Linux ⋆ ALexHost SRL

Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills
20.01.2025
No categories

Як створити SSH-ключі за допомогою OpenSSH на MacOS або Linux

У світі безпечного віддаленого зв’язку SSH (Secure Shell) є одним з найпоширеніших протоколів для підключення до віддалених серверів. SSH забезпечує безпечний метод входу на віддалені машини і виконання команд через мережу. Одним з найбезпечніших способів автентифікації за допомогою SSH є використання SSH-ключів, які дозволяють здійснювати автентифікацію без пароля і додають додатковий рівень безпеки. SSH-ключі складаються з двох частин: приватного та публічного ключів. У цій статті ми розглянемо кроки створення SSH-ключів за допомогою OpenSSH на macOS або Linux.

Що таке SSH-ключі?

SSH-ключі – це пара криптографічних ключів, які використовуються для аутентифікації клієнта (вашого комп’ютера) на SSH-сервері. Відкритий ключ знаходиться на сервері, а закритий ключ зберігається на клієнтському комп’ютері. Коли ви намагаєтеся увійти в систему, сервер порівнює відкритий ключ із закритим ключем, щоб підтвердити вашу особу. На відміну від паролів, ключі SSH не вразливі до атак грубої сили, що робить їх дуже безпечним методом автентифікації.

Навіщо використовувати SSH-ключі?

  • Підвищена безпека: SSH-ключі складніше зламати, ніж традиційні паролі, що зменшує ризик несанкціонованого доступу.
  • Безпарольна автентифікація: Після налаштування SSH-ключі дозволяють входити на сервери без необхідності щоразу вводити пароль.
  • Автоматизовані процеси: SSH-ключі ідеально підходять для автоматизації скриптів, резервного копіювання та передачі файлів, які потребують безпечного віддаленого доступу.

Необхідні умови

Щоб слідувати цьому посібнику, вам знадобиться

  1. Комп’ютер з macOS або Linux зі встановленим OpenSSH (OpenSSH включений за замовчуванням на обох платформах).
  2. Доступ до віддаленого сервера, на якому ви розмістите відкритий ключ.

Покрокове керівництво по створенню SSH-ключів

Крок 1: Відкрийте термінал

Як в macOS, так і в Linux, програма Terminal надає інтерфейс для запуску команд командного рядка. Відкрийте Термінал за допомогою:

  • macOS: Знайдіть “Terminal” у Spotlight (натисніть Cmd Пробіл ) або в розділі Програми > Утиліти.
  • Linux: Натисніть Ctrl Alt T або знайдіть “Термінал” у меню вашої програми.

Крок 2: Згенеруйте пару ключів SSH

Щоб згенерувати нову пару ключів SSH, скористайтеся наступною командою у терміналі:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Пояснення опцій:

  • t rsa: Вказує тип ключа для створення. RSA – один з найпоширеніших алгоритмів.
  • b 4096: Встановлює довжину ключа в 4096 біт для більшої безпеки.
  • C “your_email@example.com”: Додає до ключа коментар, який зазвичай використовується для ідентифікації ключа. Замініть його своєю електронною адресою або описовим ім’ям.

Після запуску цієї команди ви побачите результат, подібний до

Згенеровано пару публічних/приватних rsa-ключів.
Введіть файл , в якому буде збережено ключ (/home/yourusername/.ssh/id_rsa):

Крок 3: Виберіть місце розташування файлу (необов’язково)

За замовчуванням ключ буде збережено в каталозі .ssh у вашій домашній папці під іменами id_rsa (приватний ключ) і id_rsa.pub (публічний ключ). Натисніть Enter, щоб підтвердити розташування за замовчуванням, або ви можете вказати інший шлях.

Приклад:

Введіть файл для збереження ключа (/Users/ваше ім'я користувача/.ssh/id_rsa): [Натисніть Enter]

Крок 4: Встановіть парольну фразу (необов’язково, але рекомендується)

Далі вам буде запропоновано встановити парольну фразу для вашого ключа:

Введіть парольну фразу (порожнє поле для відсутності пароля):

Парольна фраза забезпечує додатковий рівень безпеки, вимагаючи вводити її щоразу, коли ви використовуєте свій приватний ключ. Ви можете залишити це поле порожнім, якщо не бажаєте використовувати парольну фразу (хоча це рекомендується для посилення безпеки).

Якщо ви встановили парольну фразу, переконайтеся, що ви можете її запам’ятати або надійно зберігати.

Крок 5: Підтвердження створення пари ключів

Після завершення кроків ви побачите результат, схожий на

Це означає, що приватний ключ (id_rsa) і публічний ключ (id_rsa.pub) успішно створено і збережено в каталозі .ssh.

Крок 6: Копіювання відкритого ключа на сервер

Тепер, коли ви згенерували пару ключів SSH, вам потрібно скопіювати публічний ключ на віддалений сервер, на якому ви хочете увійти.

Ви можете скористатися командою ssh-copy-id для автоматизації цього процесу:

ssh-copy-id user@your-server.com

Замініть user@your-server.com на ваше справжнє ім’я користувача та адресу сервера. Вам буде запропоновано ввести пароль до віддаленого сервера.

Крім того, якщо ssh-copy-id недоступний, ви можете скопіювати відкритий ключ вручну:

  1. Відобразіть вміст вашого відкритого ключа за допомогою команди run:
    cat ~/.ssh/id_rsa.pub
  2. Скопіюйте отримані дані і вставте їх у файл.ssh/authorized_keys на віддаленому сервері. Ви можете зробити це, увійшовши на сервер:
    ssh user@your-server.com

    Потім створіть каталог .ssh (якщо його не існує) і додайте ключ:

    mkdir -p ~/.ssh
    echo "your-copied-public-key" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys

Крок 7: Тестування SSH-з’єднання

Після того, як відкритий ключ буде скопійовано на віддалений сервер, ви можете протестувати з’єднання:

ssh user@your-server.com

Якщо все налаштовано правильно, ви зможете увійти в систему без введення пароля (якщо тільки ви не встановили пароль для свого ключа, в такому випадку вам потрібно буде його ввести).

Керування ключами SSH

  • Перелічіть всі ключі: Якщо у вас декілька ключів, ви можете перерахувати їх, перейшовши до каталогу .ssh:
    ls ~/.ssh
  • Додавання ключів до агента SSH: Якщо ви хочете уникнути повторного введення ключової фрази, ви можете додати свій ключ до агента SSH:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa

Висновок

Створення SSH-ключів за допомогою OpenSSH в macOS або Linux – це простий процес, який значно підвищує безпеку з’єднань з віддаленими серверами. Дотримуючись кроків, описаних у цьому посібнику, ви зможете згенерувати пару ключів і налаштувати безпарольну автентифікацію, що полегшить безпечне керування віддаленими машинами. SSH-ключі є важливим інструментом для будь-якого розробника, системного адміністратора або будь-кого, хто часто працює з віддаленими серверами.

Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills