Siguria dhe të dhënat
Hostet e besuar (known_hosts)
Lidhja e parë me një host kap shenjën e gishtit të çelësit publik (SHA-256) dhe e ruan atë pasi konfirmon. Lidhjet pasuese krahasojnë shenjën e gishtit — nëse ndonjëherë ndryshon merr një alarm të qartë.
Menaxho listën te Settings → Security → Trusted hosts — çdo zë tregon hostin, algoritmin e çelësit (Ed25519, RSA, ECDSA…) dhe shenjën e gishtit, dhe mund të hiqet.
Si mbrohet lidhja
DR-Terminal përdor implementimin e vet të SSH, të forcuar kundër sulmuesve aktivë dhe serverave armiqësorë:
- Çelësi i host-it verifikohet gjatë handshake-ut, para se të dërgohet ndonjë gjë sekrete. Nëse një ndërmjetës (man-in-the-middle) paraqet çelësin e gabuar, lidhja ndërpritet te shkëmbimi i çelësave — fjalëkalimi ose çelësi yt privat nuk e lë kurrë pajisjen.
- Vetëm algoritme të fortë, si parazgjedhje. Algoritmet e vjetër, të prirur ndaj downgrade — nënshkrimet dhe MAC-et SHA-1,
ssh-rsa, Diffie-Hellman 1024-bit — janë çaktivizuar. Lidhjet përdorin shkëmbim modern çelësash (Curve25519, ECDH, Diffie-Hellman ≥ 2048-bit), shifra (AES-GCM, ChaCha20-Poly1305, AES-CTR) dhe tipe çelësash host-i (Ed25519, ECDSA, RSA-SHA2). Një server që ofron vetëm diçka më të dobët nuk mund të lidhet. - Pa downgrade të heshtur. Nënshkrimi që përdor serveri duhet të përputhet me atë që u negociua, kështu që nuk mund të kthehet te një më i dobët pas shpine.
- Terrapin (CVE-2023-48795) është zbutur përmes shkëmbimit të rreptë të çelësave.
- Rezistent ndaj një serveri armiqësor ose me defekte. Gjatësitë e paketave, fushat e mesazheve dhe dritaret e kanaleve që vijnë nga rrjeti kontrollohen të gjitha për kufij, kështu që një server keqdashës nuk mund ta rrëzojë aplikacionin ose t'i shterojë kujtesën — as para se të autentikohesh.
Këto mbrojtje janë aktive automatikisht. Ndërvepron me to vetëm përmes kërkesës për hoste të besuar më sipër.
Çelësat e eksportuar
Kur konverton ose eksporton një çelës privat (SSH keys → Convert) dhe vendos një frazëkalim, enkriptimi përdor një funksion të fortë të derivimit të çelësit të zgjedhur sipas formatit — bcrypt për OpenSSH, PBKDF2 për PKCS#8, Argon2id për PuTTY PPK v3 — dhe çdo salt e IV vjen nga një gjenerues i rastësishëm kriptografikisht i sigurt. Konvertuesi lexon dhe shkruan OpenSSH, PKCS#8, PKCS#1 dhe PuTTY PPK (v2/v3), si nga PEM ashtu edhe nga DER binar.
Ku jetojnë sekretet
Fjalëkalimet, çelësat privatë dhe frazëkalimet kurrë nuk serializohen në JSON-in e lidhjes. Ato shkojnë drejtpërdrejt te ruajtja e sigurt e platformës:
- Android — EncryptedSharedPreferences, e mbështetur nga Keystore harduerik.
- iOS — Keychain (e mbrojtur me biometri nëse e ke aktivizuar).
- Desktop — skedar i enkriptuar AES-256-GCM, çelësi rrjedhur nga profili i përdoruesit.
Rezervimi i konfigurimit i enkriptuar
Settings → Configuration → Export backup krijon një skedar .drterminal të mbrojtur me fjalëkalim. Ai përmban: lidhje (me kredencialet), grupe, hoste të besuar, çelësa SSH, faqerojtës SFTP, historikun e komandave, rregulla theksimi, copëza, profile serial dhe Telnet, pamjen e terminalit dhe cilësimet, si dhe (në celular) konfigurimin e tastierës DevOps. Import backup rikthen të njëjtin paketim — i dobishëm kur kalon mes makinash.
Formati: JSON i enkriptuar me AES-256-GCM. Fjalëkalimi nuk ruhet kurrë në skedar — ai vetëm rrjedh çelësin e enkriptimit (PBKDF2, 100 000 përsëritje të SHA-256).
Importo ~/.ssh/config
Në Desktop mund të importosh në grup hoste nga një konfigurim OpenSSH ekzistues. Importuesi analizon zërat Host, HostName, User, Port, IdentityFile dhe ProxyJump dhe i shton si lidhje të ruajtura. Skedarët e çelësave të referuar nga IdentityFile ngarkohen nga disku në SecureStorage.
Nivelet e log-ut
Te Settings → Terminal → File log level zgjidh çfarë arrin te ~/.dr-terminal/logs/ (Desktop) ose ekuivalenti në celular. Parazgjedhja: ERROR — zhurmë minimale. Për diagnostikë kalo te DEBUG.