Удостоверяване
DR-Terminal поддържа три метода за автентикация: парола, частен ключ и FIDO2 (YubiKey) ключ за сигурност.
Парола
Най-простият път. Парола, въведена за запазена връзка, попада в защитеното хранилище на платформата — никога в JSON конфигурация. Ако полето за парола е празно, приложението пита всеки път, когато се свързвате.
Резервен вариант публичен ключ → парола: когато сървърът отхвърли публичен ключ (напр. той не е в authorized_keys), DR-Terminal автоматично пита за паролата на същия потребител, вместо да прекъсне връзката.
Частен ключ
Приемат се ключове във формат OpenSSH, PKCS#1, PKCS#8, ssh.com или PuTTY PPK (v2/v3) — форматът се разпознава автоматично, така че .ppk ключ работи без предварително конвертиране. Можете да:
- Поставите ключа директно във формата за връзка.
- Използвате мениджъра на ключове (Settings → Security → SSH keys) и да изберете съхранен ключ. Файловете с ключове, импортирани тук, могат допълнително да бъдат суров двоичен DER.
Ако ключът е криптиран с парола (passphrase), DR-Terminal я пита при първото използване на ключа и след това я пази само в паметта — като ssh-agent, по едно отключване за всяко стартиране на приложението; затварянето на приложението заключва отново всеки ключ. Импортираните криптирани ключове остават в оригиналната си криптирана форма в защитеното хранилище. Поддържаме много алгоритми — RSA, ECDSA (P-256, P-384, P-521), Ed25519, Ed25519-SK, ECDSA-SK (FIDO).
Генератор на ключове
Settings → Security има съветник Generate SSH key. Изберете типа (напр. ed25519), задайте passphrase (незадължително — тя защитава ключа дори в защитеното хранилище) и ключът се запазва локално. Коментарът на ключа по подразбиране е ${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).
- Експортът на PuTTY PPK вече работи в двете посоки (преди приложението можеше само да чете
.ppk). Изберете v3 (Argon2id KDF + HMAC-SHA-256, модерен PuTTY) или v2 (по-стар PuTTY) чрез селектора на версия. Файловете, създадени по този начин, се зареждат в PuTTY/puttygenбез промяна. - Незадължителна passphrase за експорт. Оставете я празна за некриптиран ключ; задайте я и изходът се криптира със силна KDF за съответния формат (bcrypt / PBKDF2 / Argon2id). Вижте Сигурност и данни → Експортирани ключове.
- Ако конвертирането се провали (грешна passphrase на източника, несъвместим формат), приложението вече показва действителната причина вместо обща грешка.
PKCS#1 описва само RSA ключове, затова тази цел се предлага само когато източникът е RSA ключ.
Превключване на връзка с парола към ключ
Не е нужно да редактирате authorized_keys на ръка. За запазена връзка с парола DR-Terminal предлага насочено надграждане на две места:
- Списък с връзки — иконата с ключ върху картата на връзка с парола стартира съветника за миграция.
- Вътре в сесия — менюто на терминала на свързана сесия с парола има Превключване към SSH ключ.
И двете изпълняват един и същ поток: изберете съхранен ключ или генерирайте нов, DR-Terminal качва публичния ключ на сървъра през съществуващия вход с парола, тества дали автентикацията с ключ наистина работи и едва тогава превключва запазената връзка към автентикация с ключ. Ако тестът се провали, връзката остава непроменена.
Ключ за сигурност (FIDO2 / YubiKey)
DR-Terminal обработва ed25519-sk и ecdsa-sk ключове — и можете да ги генерирате от вътре в приложението. Не е необходим външен ssh-keygen.
Генериране на ключ, обезпечен с YubiKey, в DR-Terminal
- Settings → Security → SSH keys → Generate SSH key.
- Включете превключвателя Security key. Изберете алгоритъма — Ed25519-SK (препоръчително) или ECDSA-SK.
- Докоснете вашия YubiKey при подкана. Приложението иска от токена да създаде нова идентификация и подписва публичния ключ.
- Ключът се съхранява в мениджъра на ключове на DR-Terminal. Копирайте публичния ключ и го поставете в
~/.ssh/authorized_keysна целевия сървър.
Windows Hello: на Windows подканата за FIDO2 PIN е нативният диалог на Windows Hello (PIN / пръстов отпечатък / лице), а не вътрешен диалог.
Резидентните ключове (съхранени в самия YubiKey) премахват нуждата да носите файла с ключа — цялата тайна живее в токена. Ключовете, генерирани в DR-Terminal, са нерезидентни: данните за идентификацията (credential handle) се пазят в мениджъра на ключове и са необходими заедно с токена.
Използване на съществуващ 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 използва нативни FIDO2 API-та (Windows Hello, macOS, Linux чрез libfido2).