GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come generare chiavi PGP usando GPG su Linux

Come generare chiavi PGP usando GPG su Linux

L'applicazione GNU Privacy Guard consente di crittografare e decrittografare le informazioni, creare chiavi di crittografia pubbliche e private e utilizzare o verificare le firme digitali. GPG si basa sull'utilizzo di una coppia di chiavi, una pubblica e una privata (o “segreta”). I dati crittografati con una chiave possono essere decifrati solo con l'altra. Per crittografare un messaggio per te, qualcuno userebbe la tua chiave pubblica per creare un messaggio che potrebbe essere sbloccato solo con la tua chiave privata. Per firmare le informazioni, le bloccheresti con la tua chiave privata, consentendo a chiunque di verificare che provengano da te sbloccandole con la tua chiave pubblica.

GPG ha dozzine di opzioni aggiuntive che perfezionano le sue opzioni disponibili. In questo post vedremo come generare chiavi PGP usando GPG su Linux.

Passaggio 1 :Conferma la versione GPG.

# gpg --help

gpg (GnuPG) 1.4.5
Copyright (C) 2006 Free Software Foundation, Inc.

Passaggio 2 :Avvia il processo di generazione della chiave. Inserisci il seguente comando per iniziare a generare la tua chiave:

gpg --gen-key

Select the type of key

Please select what kind of key you want:
(1) DSA and Elgamal (default)
(2) DSA (sign only)
(5) RSA (sign only)      ## SELECT THIS OPTION
Your selection? 5

Select the key size

RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 2048

Requested keysize is 2048 bits

Select the expiration time

Please specify how long the key should be valid.
0 = key does not expire                 ## SELECT THIS OPTION
 = key expires in n days
w = key expires in n weeks
m = key expires in n months
y = key expires in n years
Key is valid for? (0) 0

Key does not expire at all

Is this correct? (y/N) y

Enter user name and email

You need a user ID to identify your key; the software constructs the user ID from the Real Name, Comment and Email Address in this form: 

"[NAME]" (xyz-comment) [USERNAME]@[DOMAIN_NAME].com"

Real name: [Name]
Email address: [USERNAME]@[DOMAIN_NAME].com
Comment: comment
You selected this USER-ID:
"[Name] (comment) [USERNAME]@[DOMAIN_NAME].com"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O

Enter passphrase to protect secret key

You need a Passphrase to protect your secret key.

Enter passphrase: *******
Repeat passphrase: *******

We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy.

You may see the following message. If you do, follow the instructions and the key generation process will start automatically.

Not enough random bytes available. Please do some other work to give the OS a chance to collect more entropy! (Need 284 more bytes)

..+++++
...+++++
gpg: key F709C771 marked as ultimately trusted
public and secret key created and signed

gpg: checking the trustdb
gpg: 3 marginal(s) needed. 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0m, 0n, 0f, 1u
pub: 2048R/F709C771 2015-05-27
key fingerprint = BDC2 5293 DB14 C218 D2DA 711C EB0A 564A F709 C771
uid [Name] (comment) [USERNAME]@[DOMAIN_NAME].com

Si noti che questa chiave non può essere utilizzata per la crittografia. Potresti voler usare il comando “–edit-key ” per generare una sottochiave per questo scopo. La generazione delle chiavi è completa. A questo punto, hai generato una coppia di chiavi privata/pubblica con una chiave pubblica che può essere utilizzata per la firma. Il passaggio successivo consiste nell'aggiungere una sottochiave che verrà utilizzata per la crittografia.

Passaggio 3 :aggiungi una sottochiave per la crittografia. Inserisci il seguente comando per iniziare a generare la tua chiave:

# gpg --edit-key '[NAME]'
gpg (GnuPG) 1.4.5; Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

Secret key is available.

pub 2048R/F709C771 created: 2015-05-27 expires: never usage: SC
trust: ultimate validity: ultimate
[ultimate] (1). [Name] (comment) [USERNAME]@[DOMAIN_NAME].com

Enter the edit-key command

Command> addkey

Key is protected.

Enter the passphrase you specified in step 2

You need a passphrase to unlock the secret key for
user: "[NAME] (comment) [USERNAME]@[DOMAIN_NAME].com"
2048-bit RSA key, ID F709C771, created 2015-05-27

Enter passphrase: *******

user: "[Name] (comment) [USERNAME]@[DOMAIN_NAME].com"
2048-bit RSA key, ID F709C771, created 2015-05-27

Select the type of key

Please select what kind of key you want:
(2) DSA (sign only)
(4) Elgamal (encrypt only)
(5) RSA (sign only)
(6) RSA (encrypt only)              ## SELECT THIS OPTION
Your selection? 6

Select the key size

RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 2048

Requested keysize is 2048 bits

Select the expiration time

Please specify how long the key should be valid.
0 = key does not expire       ## SELECT THIS OPTION
 = key expires in n days
w = key expires in n weeks
m = key expires in n months
y = key expires in n years
Key is valid for? (0) 0

Key does not expire at all
Is this correct? (y/N) Y
Really create? (y/N) Y

Abbiamo bisogno di generare molti byte casuali. È una buona idea eseguire qualche altra azione (digitare sulla tastiera, spostare il mouse, utilizzare i dischi) durante la prima generazione; questo dà al generatore di numeri casuali una migliore possibilità di guadagnare abbastanza entropia.

Potresti visualizzare il seguente messaggio. Se lo fai, segui le istruzioni e il processo di generazione della sottochiave si avvierà automaticamente.

Not enough random bytes available. Please do some other work to give the OS a chance to collect more entropy! (Need 277 more bytes)

..........+++++
..........+++++

pub 2048R/F709C771 created: 2015-05-27 expires: never usage: SC
trust: ultimate validity: ultimate
sub 2048R/13DA9D02 created: 2015-05-27 expires: never usage: E
[ultimate] (1). [Name] (comment) [USERNAME]@[DOMAIN_NAME].com

Note, pub is for signing (SC), sub is for encryption (E)

Exit the edit-key editor and save your changes

Command> q
Save changes? (y/N) y

La generazione della sottochiave per scopi di crittografia è completa. Il passaggio successivo consiste nel verificare ed esportare le chiavi.

Passaggio 4 :Elenca le tue chiavi. Inserisci il seguente comando per elencare la chiave sul tuo portachiavi:

# gpg -k
/home/[USERNAME]/.gnupg/pubring.gpg
--------------------------------
pub 2048R/F709C771 2015-05-27
uid Your [NAME] (comment) [USERNAME]@[DOMAIN_NAME].com
sub 2048R/13DA9D02 2015-05-27

Passaggio 5 – Esporta la chiave pubblica (compresa la sottochiave) in formato ASCII. Immettere il comando seguente per elencare le chiavi:

# gpg --armor --output [Name]-pub-sub.asc --export '[Name]'
# cat [NAME]-pub-sub.asc

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.5 (GNU/Linux)

“[.......Removed the PGP KEY...... ]”

-----END PGP PUBLIC KEY BLOCK-----


Cent OS
  1. Come configurare le chiavi SSH usando cPanel

  2. Come generare una chiave SSH in un server dedicato Linux?

  3. Come generare una richiesta di firma del certificato (CSR) su Linux

  4. Come convertire il file PPK in chiavi OpenSSH e accedere utilizzando SSH in Linux?

  5. Come crittografare e decrittografare un file utilizzando GnuPG in Linux

Come generare una chiave SSH in CentOS 8

Come configurare le chiavi SSH su Debian 11 Linux

Come generare e utilizzare una chiave SSH utilizzando PuTTY

Come generare e utilizzare la chiave SSH nel sistema Linux?

Genera chiavi RSA con SSH usando PuTTYgen

Come generare una forte chiave pre-condivisa su Linux