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

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

Skills
21.10.2024
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, додаток Термінал надає інтерфейс для запуску команд командного рядка. Відкрийте Термінал за допомогою

  • 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”: Додає до ключа коментар, який зазвичай використовується для ідентифікації ключа. Замініть його своєю електронною адресою або описовим ім’ям.

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

Generating public/private rsa key pair.
Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

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

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

Enter file in which to save the key (/Users/yourusername/.ssh/id_rsa): [Press Enter]

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

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

Enter passphrase (empty for no passphrase):

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

Крок 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. Відобразіть вміст вашого відкритого ключа, виконавши
    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-ключі забезпечують криптографічний метод автентифікації, який є більш безпечним і зручним. Це робить їх невід’ємною частиною сучасної практики управління серверами. Згенерована пара SSH-ключів дозволяє вам входити на сервери без необхідності щоразу вводити пароль. Це не тільки економить час, але і знижує ризик несанкціонованого доступу. За допомогою інструментів OpenSSH процес створення, копіювання та керування ключами є простим навіть для користувачів, які не є досвідченими системними адміністраторами. Кінцевим результатом є більш плавний робочий процес і надійний захист вашої інфраструктури. Наприклад, за допомогою команди ssh-keygen -t ed25519 -C “your_email@example.com” створюється новий SSH-ключ із сучасним шифруванням, який зберігається локально на вашому комп’ютері. Після додавання відкритого ключа до файлу ~/.ssh/authorized_keys вашого сервера ви зможете підключатися за допомогою ssh user@server без введення пароля. Такий підхід поєднує в собі безпеку та ефективність, що робить SSH-ключі безцінними для розробників, сисадмінів та всіх, хто регулярно керує віддаленими машинами

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

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

Skills

Похожие записи не найдены.