Використання SSH ключа для підключення до UniFi Network



UniFi Network Controller від Ubiquiti надає зручний інтерфейс для керування мережею, однак для глибшої діагностики та налаштування іноді необхідний доступ до командного рядка через SSH. Для забезпечення безпеки та зручності варто використовувати SSH ключ замість пароля. У цій статті розглянемо, як створити SSH ключ, додати його до UniFi Controller і використовувати для входу на пристрій.

Генерація SSH ключів

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

ssh-keygen -t ed25519 -C "unifi-access"

Буде запропоновано вказати шлях для збереження ключа та його назву. Вказуємо де він буде зберігатися, зазвичай це домашня директорія користувача, та надаємо назву unifi_key або натиснути Enter для шляху за замовчуванням (~/.ssh/id_rsa).

Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/UserName/.ssh/id_ed25519): unifi_key

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

Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

В результаті буде згенеровано два файли:

  • Приватний ключ: ~/.ssh/unifi_key
  • Публічний ключ: ~/.ssh/unifi_key.pub

Зберігайте приватний ключ у безпечному місці і не передавайте його нікому!

Додавання публічного ключа

В новому інтерфейсі Unifi Network розділ із налаштуваннями дистанційного керування перенесли в розділ пристроїв:

Unifi Devices -> Device Updates and Settings -> Device Settings -> SSH Keys

Для цього треба буде ввести назву публічного ключа та його вміст.

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

cat ~/.ssh/unifi_key.pub
ssh-ed25519 AAA.....cpoM unifi-access

Цей рядок і копіюємо у відповідний блок, та додаємо його до контролера. Натискаємо на кнопку Apply Changes і маємо ключ, залишилося його додати до агента та перевірити підключення.

Як додати ключ до SSH-агента

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

ssh-add ~/.ssh/unifi_key
Enter passphrase for /home/home/.ssh/unifi_key: 
Identity added: /home/home/.ssh/unifi_key (unifi-access)

Перевірка підключення

Тепер з цього ПК, можна підключитися до будь якого пристрою, який додано до UniFi контролера, не вказуючи пароль, проте логін треба вже використовувати root.

ssh [email protected]
Linux UXGLite 5.4.213-ui-qcom #5.4.213 SMP PREEMPT Wed Apr 30 13:12:54 CST 2025 aarch64

Firmware version: v4.1.13

Висновки

Використання SSH ключів для доступу до пристроїв UniFi — це безпечніший і зручніший підхід порівняно з паролями. Ключі важче перехопити, а при правильному використанні їх можна легко оновлювати та відкликати. UniFi Controller дозволяє централізовано поширювати ключі на всі пристрої, що спрощує адміністрування великої мережі.