Авторизація за SSH ключем у PuTTY

Вступ: 

Цей посібник допоможе вам налаштувати автентифікацію за допомогою ключів SSH за допомогою PuTTY і сервера Linux. Використовуючи автентифікацію на основі ключів замість автентифікації на основі паролів, ви можете підвищити безпеку вашого SSH-з'єднання. За допомогою автентифікації на основі ключів увійти до системи можуть лише ті користувачі, які володіють відповідним приватним ключем, що забезпечує більш безпечний і надійний метод автентифікації.

1) Генерація ключів у Linux

Puttygen - це потужний інструмент для генерації пар ключів SSH на Linux-версії PuTTY. Його основна функція полягає у створенні пар відкритих і закритих ключів, які зберігаються у файлах .ppk. Крім того, Puttygen може конвертувати формати ключів, забезпечуючи користувачам гнучкість і сумісність між різними SSH-клієнтами і серверами.
Puttygen є важливим інструментом для генерації SSH-ключів у Linux-версії PuTTY. Подібно до інструменту ssh-keygen в OpenSSH, Puttygen дозволяє користувачам генерувати як відкриті, так і закриті пари ключів. Згенеровані ключі зберігаються у власному форматі PuTTY, а саме у файлах .ppk.

Однією з основних функцій Puttygen є створення пар ключів. Ці пари складаються з відкритого ключа, яким можна ділитися з іншими, і закритого ключа, який слід зберігати в безпеці і ніколи не передавати іншим. Відкритий ключ використовується для автентифікації, дозволяючи користувачам безпечно підключатися до віддалених серверів або систем.
Формат ключів PuTTY, що зберігаються у файлах .ppk, є специфічним для програмного забезпечення PuTTY. Однак Puttygen має додаткову можливість конвертувати формати ключів. Це означає, що користувачі можуть конвертувати свої файли .ppk в інші поширені формати, такі як формат ключів OpenSSH, що забезпечує сумісність з різними SSH-клієнтами або серверами.

Передумови

Перш ніж ми почнемо, переконайтеся, що у вас є наступні передумови:

  • 1. PuTTY - програма-клієнт SSH, наприклад, PuTTY. Ви можете завантажити PuTTY звідси.
  • 2. Сервер Linux - сервер, до якого ви будете підключатися за допомогою SSH.
  • 3. Пара ключів SSH - пара відкритих і закритих ключів, згенерованих сервером або клієнтом за допомогою ssh-keygen.

1) Генеруємо ключі на Linux

Запускаємо утиліту ssh-keygen. Програма запитає куди зберегти ключі і запропонує задати пароль (можна без пароля).

ssh-keygen

Тепер у нас є два ключі, які були збережені в директорію .ssh: id_rsa - приватний ключ і id_rsa.pub - публічний ключ.

Ключі виглядають у вигляді тексту. Тому їх можна легко переглянути, скопіювати і вставити в потрібний файл.

cat /root/.ssh/id_rsa
cat /root/.ssh/id_rsa.pub

Заходимо в папку .ssh

cd /root/.ssh

И записуємо наш ключ в потрібний файл 

cat id_rsa.pub > authorized_keys

Змінюємо файлу права

chmod -c 0600 id_rsa

2) Авторизація на сервер за допомогою програми PuTTY

На сервері виконуємо команду

cat /root/.ssh/id_rsa

Копіюємо вміст ключа, вставляємо в блокнот і зберігаємо з розширенням  *.ppk
Відкриваємо програму PuTTY Key Generator і завантажуємо наш ключ кнопкою "Load"

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

Далі відкриваємо клієнт PuTTY. Як зазвичай, у головному вікні вказуємо, куди підключаємося, а з лівого боку вибираємо "Connection → SSH -> Auth", у віконці вибираємо наш ключ.

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

У PuTTY також можна відразу вказати логін.
Переходимо в "Connection → Data" і в полі "username" секції "Auto-login" вкажемо логін для сеансу.

Висновок

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