menu

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

Використання публічних ключів SSH є більш безпечним, ніж використання пароля. Це також полегшує підключення до сервера, оскільки не потрібно вводити пароль.

Ключові ролі

Загалом механізм публічних/приватних ключів працює на основі двох ключів для шифрування даних

Один ключ, публічний, може шифрувати дані, але не розшифровувати.

Інший ключ, приватний, може розшифрувати ці дані.

Для безпечної автентифікації, на локальному комп’ютері створюється публічний і приватний ключі. Публічний ключ надійний способом передається на віддалений комп’ютер до якого потрібно підключитися і зберігається у файлі ~/.ssh/authorized_keys. Після цього, SSH підключення використовує публічний та приватний ключі для автентифікації на віддаленому комп’ютері.

Як це відбувається

При першому підключенні клієнт відсилає серверу ім’я користувача та свій публічний ключ.
Сервер перевіряє у файлі ~/.ssh/authorized_keys наявність публічного ключа аналогічного отриманому від клієнта. Якщо такий ключ знайдений, сервер генерує випадкове число, шифрує його цим ключем, і результат відсилає клієнту.
Клієнт розшифровує повідомлення своїм приватним ключем і відправляє результат серверу.
Сервер перевіряє чи отриманий результат збігається із числом зашифрованим раніше, і якщо це так, вважає аутентифікацію успішною.