GNUPG

Cum se criptează și decriptează fișierele cu GnuPG

GnuPG este unul dintre instrumentele utile pentru criptarea informațiilor (fișierelor) pe sistemele Linux.

În informatică, criptarea este o tehnică populară și, de cele mai multe ori, recomandată pentru a ascunde informațiile într-un format secret.

GnuPG (cunocut și sub numele de GNU Privacy Guard sau pur și simplu GPG) este un instrument GNU utilizat pentru criptarea datelor și crearea de semnături digitale care contribuie la securitatea generală a informațiilor.

Este o implementare completă și gratuită a standardului de internet OpenPGP, care oferă o soluție avansată de gestionare a cheilor.

Sunt disponibile două versiuni de GPG:

  • gpg – este o versiune autonomă care este potrivită pentru servere și platforme integrate.
  • gpg2 – este o versiune destinată calculatoarelor și necesită instalarea mai multor module.

În unele distribuții Linux populare, cum ar fi Debian, pachetul gnupg2 este un pachet de traniție fictiv care oferă legături simbolice de la gpg2 la gpg.

Acest ghid arată cum să generați o pereche de chei GPG, să exportați și să partajați chei publice, să criptați un fișier și să partajați și decriptați un fișier utilizând GPG în sistemele Linux.

Aceasta demonstrează schimbul de informații între două părți:

  • Root Linux (rootlinux@rootlinux.ro) a cărui prompt de comandă este rootlinux@root.
  • Test Admin (testadmin@rootlinux.ro) a cărui prompt de comandă este root@server.

Fișierul partajat între cele două părți se numește secret.txt, care conține o parolă extrem de sensibilă pe care Test Admin dorește să o partajeze cu utilizatorul Root Linux.

Puteți vizualia conținutul fișierului secret.txt, care conține parola și alte detalii privind accesul la distanță, utilizând comanda cat, după cum se arată. Acest fișier există pe serverul lui Test Admin:

# cat secret.txt

Instalare GnuPG pe Linux

Pentru a instala pachetul GnuPG, rulați comanda corespunzătoare pentru distribuția Linux, după cum se arată mai jos.

Rețineți că pachetul gnupg trebuie să fie instalat pe cele două sisteme care partajează date.

$ sudo apt install gnupg          [pe Debian, Ubuntu și Linux Mint]
$ sudo yum install gnupg          [pe RHEL/CentOS/Fedora și Rocky Linux/AlmaLinux OS]
$ sudo emerge -a app-crypt/gnupg  [pe Gentoo Linux]
$ sudo apk add gnupg              [pe Alpine Linux]
$ sudo pacman -S gnupg            [pe Arch Linux]
$ sudo zypper install gnupg       [pe openSUSE] 

Generarea de noi perechi de chei GPG

Pentru a genera noi perechi de chei (publice și private), rulați comanda gpg cu indicatorul –full-generate-key pe ambele sisteme și urmați instrucțiunile pentru a defini tipul de cheie, dimensiunea cheii, cât timp ar trebui să fie valabilă cheia, un ID de utilizator pentru a identifica cheia și o frază de siguranță pentru cheie, așa cum se arată în captura de ecran de mai jos.

$ gpg --full-generate-key
Generating GPG Keys

Listarea perechilor de chei

Pentru a lista cheia publică GPG pe care tocmani ați creat-o împreună cu alte chei existente, rulați comanda gpg cu indicatorul –list-public-key.

Pentru a realiza o listă lungă, adăugați indicatorul –keyid-format=long.

$ gpg --list-public-keys
sau
$ gpg --list-public-keys --keyid-format=long
List GPG Key Pairs

Pentru a lista cheia secretă GPG pe care tocmai ați creat-o împreună cu alte chei existente, rulați comanda gpg cu indicatorul –list-secret-key.

Pentru a realiza o listă lungă, adăugați indicatorul –keyid-format=long.

$ gpg --list-secret-keys
sau
$ gpg --list-secret-keys --keyid-format=long
List Secret GPG Key Pairs

Exportul cheilor cu GPG

Odată ce perechile de chei GPG au fost generate de ambele părți, cele două părți pot exporta cheile publice într-un fișier și le pot partaja prin e-mail sau prin alte mijloace.

--------- On Root Linux Server --------- 
$ gpg --list-public-keys
$ gpg --export -o rootlinuxsec.key 15B4814FB0F21208FB5076E7A937C15009BAC996

--------- On Test Admin Server ---------
# gpg --list-public-keys
# gpg --export -o testadminsec.key BC39679E5FF48D4A6AEF6F3437211F0B4D6D8A61
Export GPG Keys

Importul cheilor cu GPG

În continuare, faceți schimb de chei publice fie prin e-mail, fie prin alte mijloace sigure, cum ar fi utilizarea comenzii scp, după cum sea arată:

$ scp rootlinuxsec.key root@192.168.0.189:/root/
$ scp root@192.168.0.189:/root/testadminsec.key ./

În continuare, importați cheia publică de la capătul opus în grupul de chei publice al sistemului local, adăugând indicatorul –import, după cum se arată:

# gpg --import rootlinuxsec.key
# gpg --import testadminsec.key

Pentru a verifica dacă cheia publică importată există în grupul de chei al sistemului local, enumerați cheile publice disponibile, astfel:

# gpg --list-public-keys

Criptarea fișierelor

Acum să vedem cum se criptează fișierul secret folosind chei gpg. Pentru această secțiune, vom rula comenzile pe serverul Test Admin.

Pentru a cripta un fișier text simplu utilizând perechea de chei GPG tocmai creată, executați următoarea comandă.

Indicatorul -e sau –encrypt activează criptarea, iar indicatorul -r sau –recipient este utilizat pentru a specifica ID-ul destinatarului, iar secret.txt este fișierul text simplu care urmează să fie criptat.

Următoarea comandă criptează fișierul secret.txt utilizând cheia publică a destinatarului rootlinux@rootlinux.ro.

#gpg -e -r rootlinux@rootlinux.ro secret.txt  
sau
# gpg --encrypt --recipient rootlinux@rootlinux.ro secret.txt

În cazul în care comanda anterioară a fost executată cu succes, un nou fișier va fi generat în directorul curent (numele originar al fișierului se termină cu extensia .gpg).

$ ls secret.txt.gpg

Pentru a stoca informațiile criptate într-un alt fișier, utilizați indicatorul -o sau –output urmată de un nume de fișier. În acest exemplu, numele de fișier preferat este node_configs.

# gpg -e -r rootlinux@rootlinux.ro -o node_configs secret.txt
sau
# gpg --encrypt --recipient rootlinux@rootlinux.ro --output node_configs secret.txt

Acum partajați fișierul criptat prin e-mail sau prin alte mijloace sigure.

Decriptarea fișierelor

Pentru a decripta un fișier criptat cu gpg, adăugați indicatorul -d sau –decrypt și specificați numele fișierului criptat.

În mod implicit, informațiile decriptate vor fi afișate în ieșirea standard. Le puteți stoca într-un fișier utilizând indicatorul -o, așa cum se arată:

$ gpg -d -o secrets.txt secrets.txt.gpg
$ ls secrets.txt

De final

Pentru mai multe informații, consultați manualul gpg/gpg2.

$ man gpg
sau
$ man gpg2

Asta este tot pentru domeniul de aplicare al acestui ghid. GPG este un instrument utilizat în mod obișnuit pentru criptarea și decriptarea informațiilor sau a fișierelor în Linux.

ThinkRoot99

Numele meu este Cristian Moldovan și sunt utilizator de Linux de peste 10 ani.Am făcut parte din mai multe echipe open source din România: Fundația Ceata, Linux Mint România, Rogentos Linux Group. Între 2014 și 2018 am fost propietarul și editorul site-ului de știri despre linux, gnulinux.ro și actual proprietar al rootlinux.ro

View all posts by ThinkRoot99 →

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *