GnuPG
ATENCIO: FES SERVIR SEMPRE gpg2, MAI gpg! (No perque no sigui bo, sino perque ja has emprat gpg2 i les claus no serveixen per a gpg.)
NOTA: a on les comendes de sota diuen
NOTA: en principi no pots emprar gpg2
en una sessio su
. Cal fer log in directament o be definir GPG_AGENT_INFO
i potser fer quelcom mes. No provat.
Pinentry
Si vols que pinentry
demani la frase de pas per terminal en comptes d'obrir una finestra, edita o crea .gnupg/gpg-agent.conf
i afegeix o modifica el camp pinentry-program
perque apunti a un binari no grafic. Idealment hauria de ser tty
, pero si no hi es, pots provar curses
:
pinentry-program /usr/bin/pinentry-tty
Hi ha un pinentry
anomenat loopback
que indicat en linia de comandes permet llegir la clau des d'un descriptor de fitxer, un fitxer o de la comanda mateix. La tercera es obviament insegura (es possible veure la clau amb ps
) i la segona ho es forca (el fitxer es en disc) pero la primera pot ser molt util si l'origen de la clau es segur.
echo "clau" | gpg2 --pinentry-mode loopback --passphrase-fd 0 ...
gpg2 --pinentry-mode loopback --passphrase-file <fitxer> ...
gpg2 --pinentry-mode loopback --passphrase "clau" ...
L'exemple del primer cas indica el descriptor zero, que es STDIN.
gpg-agent
gpg-agent
s'arrenca amb la sessio i controla les claus. Quan n'introdueixes
una, la guarda en cache. Si vols buidar la cache, cal reiniciar-lo:
gpgconf --reload gpg-agent
Gestio de claus
Generacio
Pots generar un parell public/privat amb:
gpg2 --gen-key # emprar valors per omisio
gpg2 --full-generate-key # entrar tots els valors
Els valors que demana en el primer cas son:
- nom: el teu nom; per a coses privades jo poso el nom que vull donar a la clau per distingir-la de la resta
- adreca: el teu correu electronic; per a coses privades jo poso oscar@clauo
Per exemple, per a la clau que genero per a password-store
empro el nom
password-store
i l'adreca oscar@password-store
,
Modificacio
Per modificar caducitats, frases de pas, etc. pots editar la clau:
gpg --edit-key <ID>
i llavors cridar diferents comandes. help
mostra quines són possibles.
Llistat
Pots llistar totes les claus del keyring
amb:
gpg2 --list-keys
Eliminacio
Per eliminar una clau secreta:
gpg2 --delete-secret-keys <ID>
i per eliminar-ne una de publica:
gpg2 --delete-key <ID>
Importacio i exportacio
Per importar una clau publica:
gpg2 --import <fitxer>
i per exportar-ne una (va a STDOUT, aixi que assegura't de redirigir la sortida):
gpg2 --export -a <ID> > <fitxer>
Encriptacio / desencriptacio de fitxers
Necessites la clau publica per encriptar i la privada per desencriptar. Encriptant amb la clau publica d'algu altre assegures que nomes aquesta persona pugui desencriptar el fitxer.
Per encriptar un fitxer:
gpg2 -e -r <ID> <fitxer>
Compte perque es genera fitxer.gpg
pero no s'esborra fitxer
. Cal esborrar-lo a ma.
Per desencriptar un fitxer (la clau privada ha de ser al keyring
):
gpg2 -d <fitxer.gpg>
En aquest cas es genera fitxer
pero no s'esborra fitxer.ggp
.
Pots afegir -o <fitxer.gpg>
o -o <fitxer>
si vols indicar el nom del
fitxer a generar.
Encriptacio simetrica
Si no vols emprar claus, pots encriptar el fitxer amb una frase de pas, que tambe sera necessaria per desencriptar. Es simetrica perque la mateixa frase de pas es fa servir per a totes dues operacions.
Per encriptar:
gpg -c <fitxer>
i per desencriptar, igual que en el cas assimetric:
gpg -d <fitxer.gpg>