Використання команд ssh-copy-id та ssh-keygen у Linux

Secure Shell (SSH) – важливий інструмент для безпечного підключення до віддалених систем. Для підвищення безпеки і простоти доступу часто надають перевагу автентифікації за допомогою ключа SSH замість автентифікації за допомогою пароля. Дві важливі команди в цьому процесі – ssh-keygen і ssh-copy-id.

Створення SSH-ключів за допомогою ssh-keygen

Команда ssh-keygen використовується для створення пар ключів SSH. Щоб створити нову пару ключів, виконайте наступну команду в середовищі Linux:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • t rsa: Вказує алгоритм RSA.
  • b 4096: Генерує ключ з 4096-бітовим шифруванням.
  • C “your_email@example.com”: Додає коментар для ідентифікації.

Після запуску команди вам буде запропоновано вказати файл для збереження ключа (за замовчуванням: ~/.ssh/id_rsa) і необов’язкову парольну фразу для додаткової безпеки.

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

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

ssh-copy-id user@remote-server
  • користувач: Ваше ім’я користувача на віддаленому сервері.
  • remote-server: Ім’я хоста або IP-адреса сервера.

Ця команда додасть ваш відкритий ключ (id_rsa.pub) до файлу ~/.ssh/authorized_keys на віддаленому комп’ютері, увімкнувши автентифікацію без пароля.

Перевірка автентифікації за допомогою ключа SSH

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

ssh user@remote-server

Якщо все налаштовано правильно, ви маєте увійти без пароля.

Висновок

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