Аутентифікація в ssh по ключу має кілька переваг. По-перше, зручність. У вас може бути кілька серверів і один ключ. Не потрібно щоразу вводити пароль від потрібного сервера, що заощадить час. По-друге, це безпечно. Ви зможете відключити аутентифікацію за паролем і ssh буде захищений від брутфорса.
У цій статті розберемо роботу з Putty на Windows. Для неї є зручна утиліта - pgagent, здатна завантажуватися автоматично при запуску ОС, і зберігає приватний ключ в пам'яті. Він може бути використаний не тільки для Putty, але і для Filezilla.
Викачуємо дистрибутив Putty на свій комп'ютер і встановлюємо.
Зміст статті:
- Генерируем публичный и приватный ключи 1 Генеруємо публічний і приватний ключі
- Устанавливаем публичный ключ на сервер 2 Встановлюємо публічний ключ на сервер
- Настройка putty agent и добавление в автозагрузку 3 Налаштування putty agent і додавання в автозавантаження
- Проверка аутентификаци по ключу 4 Перевірка аутентифікації по ключу
Генеруємо публічний і приватний ключі
Для аутентифікації знадобиться пара ключів: публічний і приватний. Перший ключ можна закачати на будь-який сервер, до якого вам потрібен доступ. Другий ключ слід берегти і нікому не віддавати. Бажано захистити його паролем.
Згенеруємо пару ключів за допомогою утиліти PuttyGen. Запустіть її, параметри за замовчуванням залиште: тип ключа ssh-2 rsa, довжина 2048 біт.
Клацніть по кнопці Generate, пересувайте мишу, поки ключ не буде готовий.
Через пару миттєвостей ключі будуть створені. Копіюємо вміст віконця «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
Створений ярлик потрібно скопіювати в папку автозавантаження. Для цього відкрийте меню Пуск, виберіть Усі програми, на папці Автозавантаження клікніть правою кнопкою миші, натисніть пункт «Відкрити» в контекстному меню.
У цю папку перемістіть або скопіюйте ярлик запуску pgagent. У підсумку розділ Автозавантаження в меню Пуск повинен виглядати ось так.
Перезавантажте комп'ютер. Якщо всі дії були зроблені правильно, в треї на панелі завдань буде відображатися іконка pgagent, при подвійному натисканні на якій буде відкриватися основне вікно програми з завантаженими ключами.
Зверніть увагу, що якщо ваш ключ запаролено, то пароль необхідно буде вказати в агента відразу після авторизації в Windows. Вам необхідно ввести пароль тільки один раз після включення, до виходу з системи.
Перевірка аутентифікації по ключу
Залишається тільки перевірити правильність аутентифікації ssh по ключу. Запустіть putty і підключіться до улюбленого сервера.
Результат успішної аутентифікації:
Authenticating with public key "something" from agent
Якщо ж все налаштовано невірно, то буде видане повідомлення про помилку і запропоновано надрукувати пароль. :)
Допоможіть будь ласка. Натискаю кнопку power на комп'ютері. Кулерв починають розкручується, секунд 5 і комп знову вимикається і через секунд 5 знову включається, так нескінченно.
Це означає, що потрібно новий комп купувати! Або просто ти перед ним завинив і він тебе хоче тобі нерви попсувати)
Супер! Мнооого пеерчітал статтей, результату було нуль. Все вийшло з першого разу. Дякую автору за інструкцію з фото ілюстрацією.