Skip to main content

Аутентифікація ssh по ключу з Putty на Windows



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

У цій статті розберемо роботу з Putty на Windows. Для неї є зручна утиліта - pgagent, здатна завантажуватися автоматично при запуску ОС, і зберігає приватний ключ в пам'яті. Він може бути використаний не тільки для Putty, але і для Filezilla.



Викачуємо дистрибутив Putty на свій комп'ютер і встановлюємо.

Зміст статті:

Генеруємо публічний і приватний ключі

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

Згенеруємо пару ключів за допомогою утиліти PuttyGen. Запустіть її, параметри за замовчуванням залиште: тип ключа ssh-2 rsa, довжина 2048 біт.



Клацніть по кнопці Generate, пересувайте мишу, поки ключ не буде готовий.

Создание ключа в PuttyGen

Через пару миттєвостей ключі будуть створені. Копіюємо вміст віконця «Public key for pasting into OpenSSH authorized_keys file:» і зберігаємо на робочому столі в текстовому документі mypublickey.txt. Це ваш публічний ключ в форматі OpenSSH.



Созданные ключи

Придумайте хороший пароль для захисту приватного ключа і вкажіть його в полях Key Passphrase і Confirm Passphrase. Якщо хтось отримає ваш ключ, він не зможе скористатися ним тому, що не знатиме пароль.

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

Після цього натискаємо на кнопку Save private key і вказуємо, де зберегти ключ.

Встановлюємо публічний ключ на сервер

Авторизуйтесь на сервері під ім'ям потрібного користувача. У його домашній папці створіть каталог .ssh.

  # Mkdir ~ / .ssh; chmod 0700 ~ / .ssh 

Потім в цій папці потрібно буде створити файл для зберігання авторизаційних ключів - authorized_keys:

  # Touch ~ / .ssh / authorized_keys; chmod 0600 ~ / .ssh / authorized_keys 

Пам'ятайте про збереженому на робочому столі публічному ключі? Відкрийте текстовий файл, в якому ми його зберегли і скопіюйте ключ повністю.

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

Ці ж дії можна виконати за допомогою sftp клієнта. Filezilla відмінно впорається із завданням. Також створюємо зазначені папку і файл, редагуємо і т.д.

Коли публічний ключ збережений на сервері, саме час налаштувати putty agent.

Налаштування putty agent і додавання в автозавантаження

Аутентифікація може відбуватися і за допомогою putty, якщо приватний ключ вказати у відповідній графі налаштувань. Однак, це незручно, якщо потрібно користуватися ще й sftp клієнтом. Тоді краще довантажувати ключ за допомогою putty agent: один раз запускаємо pgagent і маємо доступ, коли побажаємо. Треба змінити ключ? Не проблема - міняємо тільки в агента і ніде більше. А щоб кожен раз вручну не запускати агент, потрібно зробити його завантажуваних при включенні Windows. :)

Для додавання pgagent в автозавантаження створіть ярлик для pgagent.exe. У властивостях ярлика, в пункті «Об'єкт» просто пропишіть шлях до кожного ключу, розділяючи їх пробілами.

  "C: \ Program Files \ PuTTY \ pageant.exe" S: \ folder \ key.ppk S: \ folder \ key2.ppk 

Putty Agent

Створений ярлик потрібно скопіювати в папку автозавантаження. Для цього відкрийте меню Пуск, виберіть Усі програми, на папці Автозавантаження клікніть правою кнопкою миші, натисніть пункт «Відкрити» в контекстному меню.

Папка Автозагрузки

У цю папку перемістіть або скопіюйте ярлик запуску pgagent. У підсумку розділ Автозавантаження в меню Пуск повинен виглядати ось так.

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

Pgagent с ключами

Зверніть увагу, що якщо ваш ключ запаролено, то пароль необхідно буде вказати в агента відразу після авторизації в Windows. Вам необхідно ввести пароль тільки один раз після включення, до виходу з системи.

Перевірка аутентифікації по ключу

Залишається тільки перевірити правильність аутентифікації ssh по ключу. Запустіть putty і підключіться до улюбленого сервера.

Результат успішної аутентифікації:

  Authenticating with public key "something" from agent 

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



Як ви оціните статтю?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (4 оцінок, середнє: 5,00 з 5)
Завантаження ...

” 3 Коментарі "Аутентифікація ssh по ключу з Putty на Windows"

  1. Допоможіть будь ласка. Натискаю кнопку power на комп'ютері. Кулерв починають розкручується, секунд 5 і комп знову вимикається і через секунд 5 знову включається, так нескінченно.

    1. Це означає, що потрібно новий комп купувати! Або просто ти перед ним завинив і він тебе хоче тобі нерви попсувати)

  2. Супер! Мнооого пеерчітал статтей, результату було нуль. Все вийшло з першого разу. Дякую автору за інструкцію з фото ілюстрацією.

Додати коментар

Ваш e-mail не буде опублікований.