Talvolta mi capita di voler trasferire la mia chiave privata su un altro dispositivo in mio possesso. Ed ogni volta mi dimentico come fare.
Quindi proviamo a scriverlo nero su bianco, in modo che in futuro io possa ritrovare questa breve guida ed eseguire velocemente un lavoro che non dovrebbe richiedere più di 2 minuti.
Nel far ciò perchè non pubblicare questo scritto, così da permettere a chiunque di eseguire questi semplici passi? Iniziamo subito!
Iniziamo con le basi su sistemi Linux e Unix-like.
Possiamo elencare le chiavi disponibili con:
gpg --list-keys
Per esportare una chiave pubblica possiamo usare:
gpg --export Nome\ Cognome > pubblica.gpg
Per esportare una chiave privata possiamo usare:
gpg --export-secret-keys Nome\ Cognome > privata.gpg
Con questo comando verrà richiesta la password della chiave privata, ma non preoccupatevi: la chiave verrà comunque salvata criptata con la stessa chiave.
Per importare una chiave pubblica o privata, basta il comando:
gpg --import pubblica.gpg
gpg --import privata.gpg
Potremmo salvare l’output dei comandi precedenti su un file, trasferire il file sul dispositivo remoto e poi importare il file. Questa pratica funziona perfettamente, ma come facciamo a trasferire il file?
Se possiamo usare SSH, possiamo fare tutto insieme:
gpg --export Nome\ Cognome | ssh user@host gpg --import --batch --yes
gpg --export-secret-keys Nome\ Cognome | ssh user@host gpg --import --batch --yes
gpg --export-ownertrust | ssh user@host gpg --import-ownertrust
I primi due comandi sono la combinazione dell’esportazione delle chiavi, della
connessione SSH e trasferimento via pipe al processo di importazione delle chiavi.
I flag --batch
e --yes
sono necessari per evitare prompt che non funzionerebbero
via SSH. Attenzione a dare il comando giusto!
L’ultimo comando esporta il database della fiducia di gpg e lo importa sull’host remoto.
Per esportare la chiave privata con OpenKeychain su Android è necessario eseguire un backup della chiave, trascrivere la chiave di backup su carta o fare uno screenshot e copiarla con OCR, trasferire il file e poi importarlo con gpg, inserendo la chiave di backup. Una noia mortale! Molto meglio avere SSH a disposizione!