Sikkerhed og data
Betroede værter (known_hosts)
Den første forbindelse til en vært fanger dens fingeraftryk af den offentlige nøgle (SHA-256) og gemmer det, efter du bekræfter. Efterfølgende forbindelser sammenligner fingeraftrykket — hvis det nogensinde ændres, får du en tydelig advarsel.
Administrer listen i Indstillinger → Sikkerhed → Betroede værter — hver post viser værten, nøglealgoritmen (Ed25519, RSA, ECDSA…) og fingeraftrykket og kan fjernes.
Hvordan forbindelsen beskyttes
DR-Terminal bruger sin egen SSH-implementering, hærdet mod aktive angribere og fjendtlige servere:
- Værtsnøglen kontrolleres under håndtrykket, før noget hemmeligt sendes. Hvis en mand-i-midten (man-in-the-middle) præsenterer den forkerte nøgle, afbrydes forbindelsen ved nøgleudvekslingen — din adgangskode eller private nøgle forlader aldrig enheden.
- Kun stærke algoritmer, som standard. Ældre, nedgraderingssårbare algoritmer — SHA-1-signaturer og -MAC'er,
ssh-rsa, 1024-bit Diffie-Hellman — er slået fra. Forbindelser bruger moderne nøgleudveksling (post-kvante-hybridernesntrup761x25519-sha512ogmlkem768x25519-sha256først, derefter Curve25519, ECDH, Diffie-Hellman ≥ 2048-bit), ciphers (AES-GCM, ChaCha20-Poly1305, AES-CTR) og værtsnøgletyper (Ed25519, ECDSA, RSA-SHA2). En server, der kun tilbyder noget svagere, kan ikke forbinde — medmindre du bevidst genaktiverer en ældre algoritme under SSH-algoritmer (nedenfor). - Ingen tavs nedgradering. Den signatur, serveren bruger, skal matche det, der blev forhandlet, så den kan ikke falde tilbage til en svagere bag din ryg.
- Terrapin (CVE-2023-48795) er afbødet gennem streng nøgleudveksling.
- Modstandsdygtig over for en fjendtlig eller fejlbehæftet server. Pakkelængder, meddelelsesfelter og kanalvinduer, der kommer fra netværket, kontrolleres alle for grænser, så en ondsindet server ikke kan få appen til at gå ned eller udtømme dens hukommelse — ikke engang før du godkender.
Disse beskyttelser er slået til automatisk. Du interagerer kun med dem via prompten om betroede værter ovenfor.
SSH-algoritmer (avanceret)
Indstillinger → Sikkerhed → SSH-algoritmer lader dig justere, hvad klienten foreslår serverne — til en ældre enhed, der kun taler en gammel cipher, eller for at fastlåse den rækkefølge, du stoler på. Siden har én sektion pr. forhandlingskategori:
- Nøgleudveksling, Krypteringer, MAC (integritet) — slå hver algoritme til eller fra og flyt den op eller ned; rækkefølgen er den præferencerækkefølge, der sendes til serveren (den første algoritme, begge sider understøtter, vinder).
- Værtsnøgler — kun til/fra.
- Komprimering — en ja/nej-kontakt (fra som standard). Ja foreslår
[email protected]først mednonesom reserve til servere uden zlib; Nej foreslår kunnone, så serveren ikke kan slå komprimering til. Komprimering hjælper på langsomme forbindelser og koster CPU i begge ender.
Algoritmer, som biblioteket leverer deaktiveret, bærer et lille ravgult legacy-mærke — de forbliver slået fra, indtil du slår dem til. En kategori kan aldrig ende tom: den sidste aktiverede algoritme kan ikke slås fra. Nulstil ved siden af en sektionstitel fører den tilbage til bibliotekets standarder.
Hver gemt forbindelse kan tilsidesætte det globale valg: i forbindelsesformularen åbner SSH-algoritmer → Tilpasset den samme editor kun for den vært (Standard følger den globale indstilling). Bekræftelse af editoren opdaterer formularen — Gem forbindelsen bagefter. Hvad der faktisk blev forhandlet — nøgleudveksling, værtsnøgle, cipher, MAC, komprimering — vises under Forbindelsesinfo i sessionsmenuen.
Nye indstillinger gælder for forbindelser, der åbnes efterfølgende. En anden fane til den samme vært genbruger den aktive SSH-forbindelse og dermed dens algoritmer — afbryd og forbind igen for at genforhandle.
Post-kvante-advarsel
En “store now, decrypt later”-angriber optager dagens trafik og dekrypterer den, når kvantecomputere kan bryde klassisk nøgleudveksling. DR-Terminal foretrækker post-kvante-hybrid-nøgleudveksling (sntrup761x25519-sha512, mlkem768x25519-sha256 — de samme, som OpenSSH leverer) og advarer ligesom OpenSSH, når en session ender på en klassisk: en dialog vises én gang pr. forbindelse og fortæller, at nøgleudvekslingen ikke er post-kvante, og at serveren muligvis skal opgraderes. Vis ikke igen slår advarslen fra permanent; den findes under Indstillinger → Sikkerhed → Post-kvante-advarsel (til som standard).
Eksporterede nøgler
Når du konverterer eller eksporterer en privat nøgle (SSH-nøgler → Konverter) og angiver en adgangssætning, bruger krypteringen en stærk nøgleafledningsfunktion, der vælges pr. format — bcrypt til OpenSSH, PBKDF2 til PKCS#8, Argon2id til PuTTY PPK v3 — og hver salt og IV kommer fra en kryptografisk sikker tilfældighedsgenerator. Konverteren læser og skriver OpenSSH, PKCS#8, PKCS#1 og PuTTY PPK (v2/v3), fra både PEM og binær DER.
Hvor hemmeligheder lever
Adgangskoder, private nøgler og adgangssætninger bliver aldrig serialiseret til forbindelses-JSON. De går direkte til platformens sikre lager:
- Android — EncryptedSharedPreferences, understøttet af hardware-Keystore.
- iOS — Keychain (biometribeskyttet, hvis du har aktiveret det).
- Desktop — AES-256-GCM-krypteret fil, nøgle afledt af brugerprofilen.
Krypteret konfigurationssikkerhedskopi
Indstillinger → Konfiguration → Export backup opretter en adgangskodebeskyttet .drterminal-fil. Den indeholder: forbindelser (med loginoplysninger), grupper, betroede værter, SSH-nøgler, SFTP-bogmærker, kommandohistorik, fremhævningsregler, snippets, serielle profiler og Telnet-profiler, SSH-algoritmepræferencer, terminalens udseende og indstillinger samt (på mobil) konfigurationen af DevOps-tastaturet. Import backup gendanner det samme bundt — nyttigt ved flytning mellem maskiner.
Format: JSON krypteret med AES-256-GCM. Adgangskoden gemmes aldrig i filen — den afleder kun krypteringsnøglen (PBKDF2, 100 000 iterationer af SHA-256).
Importér ~/.ssh/config
På Desktop kan du masseimportere værter fra en eksisterende OpenSSH-konfiguration. Importøren fortolker Host-, HostName-, User-, Port-, IdentityFile- og ProxyJump-poster og tilføjer dem som gemte forbindelser. Nøglefiler refereret af IdentityFile indlæses fra disk i SecureStorage.
Logniveauer
I Indstillinger → Terminal → Logniveau for fil vælger du, hvad der når frem til ~/.dr-terminal/logs/ (Desktop) eller tilsvarende på mobil. Standard: ERROR — minimal støj. Til diagnostik skift til DEBUG.