Автентифікація

DR-Terminal підтримує три способи автентифікації: пароль, приватний ключ та апаратний ключ безпеки FIDO2 (YubiKey).

Пароль

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

Резервний перехід відкритий ключ → пароль: коли сервер відхиляє відкритий ключ (наприклад, його немає в authorized_keys), DR-Terminal автоматично запитує пароль для того самого користувача замість розриву з'єднання.

Приватний ключ

Приймаються ключі у форматах OpenSSH, PKCS#1, PKCS#8, ssh.com або PuTTY PPK (v2/v3) — формат визначається автоматично, тож ключ .ppk працює без попередньої конвертації. Ви можете:

Якщо ключ зашифровано парольною фразою, DR-Terminal запитає її під час першого використання ключа, а потім триматиме її лише в пам'яті — як ssh-agent, одне розблокування на запуск застосунку; закриття застосунку знову блокує всі ключі. Імпортовані зашифровані ключі залишаються у своїй початковій зашифрованій формі в безпечному сховищі. Ми підтримуємо багато алгоритмів — RSA, ECDSA (P-256, P-384, P-521), Ed25519, Ed25519-SK, ECDSA-SK (FIDO).

Генератор ключів

У Settings → Security є майстер Generate SSH key. Виберіть тип (наприклад, ed25519), задайте парольну фразу (необов'язково — вона захищає ключ навіть усередині безпечного сховища), і ключ буде збережено локально. Типовий коментар ключа — ${user}@${host}@DR-Terminal, що зручно для впізнавання ключа на сервері. Відкритий ключ можна скопіювати в буфер обміну для ~/.ssh/authorized_keys на сервері.

Ключі у списку можна перейменувати на місці; якщо вибрана назва збігається з наявною, застосунок автоматично додає (2).

Конвертер ключів

Settings → Security → SSH keys → Convert повторно серіалізує приватний ключ між усіма поширеними форматами — виберіть джерело (збережений ключ, файл або вставлений текст) і цільовий формат, потім скопіюйте, поділіться або збережіть результат.

Формати, в обидва боки:

ФорматЧитанняЗапис
OpenSSH (BEGIN OPENSSH PRIVATE KEY)
PKCS#8 (BEGIN PRIVATE KEY)
PKCS#1 (BEGIN RSA PRIVATE KEY, лише RSA)
PuTTY PPK — v2 та v3

Вхідні дані можуть бути PEM (текст), PuTTY PPK або необробленим двійковим DER — формат визначається автоматично. Типи ключів: RSA, Ed25519 та ECDSA (P-256/384/521).

PKCS#1 описує лише ключі RSA, тому ця ціль пропонується лише тоді, коли джерело є ключем RSA.

Переключення з'єднання з пароля на ключ

Не потрібно редагувати authorized_keys вручну. Для збереженого з'єднання з паролем DR-Terminal пропонує кероване оновлення у двох місцях:

Обидва шляхи виконують той самий процес: виберіть збережений ключ або згенеруйте новий, DR-Terminal розгортає відкритий ключ на сервері через наявний вхід за паролем, перевіряє, що автентифікація ключем справді працює, і лише тоді переключає збережене з'єднання на автентифікацію ключем. Якщо перевірка не вдалася, з'єднання залишається без змін.

Ключ безпеки (FIDO2 / YubiKey)

DR-Terminal працює з ключами ed25519-sk та ecdsa-sk — і ви можете згенерувати їх прямо в застосунку. Зовнішній ssh-keygen не потрібен.

Згенерувати ключ на основі YubiKey у DR-Terminal

  1. Settings → Security → SSH keys → Generate SSH key.
  2. Увімкніть перемикач Security key. Виберіть алгоритм — Ed25519-SK (рекомендовано) або ECDSA-SK.
  3. Торкніться свого YubiKey, коли з'явиться запит. Застосунок просить токен створити нові облікові дані та підписує відкритий ключ.
  4. Ключ зберігається в менеджері ключів DR-Terminal. Скопіюйте відкритий ключ і вставте його в ~/.ssh/authorized_keys на цільовому сервері.

Windows Hello: у Windows запит PIN-коду FIDO2 — це нативний діалог Windows Hello (PIN / відбиток пальця / обличчя), а не внутрішній діалог застосунку.

Резидентні ключі (зберігаються на самому YubiKey) усувають потребу носити файл ключа — увесь секрет знаходиться на токені. Ключі, згенеровані в DR-Terminal, є нерезидентними: дескриптор облікових даних зберігається в менеджері ключів і потрібен разом із токеном.

Використання наявного SK-ключа

Якщо у вас уже є id_ed25519_sk / id_ecdsa_sk, згенерований деінде (наприклад, через ssh-keygen -t ed25519-sk), імпортуйте його через той самий менеджер ключів — DR-Terminal однаково обробляє імпортовані та згенеровані SK-ключі.

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

DR-Terminal запитує дотик до вашого ключа. Індикатор блимає — торкніться його. iOS підтримує NFC та USB-C (YubiKey 5Ci і новіші). Android — NFC + USB (OTG). Desktop використовує нативні API FIDO2 (Windows Hello, macOS, Linux через libfido2).

Previous
SSH-з'єднання
Next
Термінал