GNU/Linux >> Znalost Linux >  >> Cent OS

Jak vygenerovat klíče PGP pomocí GPG na Linuxu

Jak vygenerovat klíče PGP pomocí GPG v systému Linux

Aplikace GNU Privacy Guard vám umožňuje šifrovat a dešifrovat informace, vytvářet veřejné a soukromé šifrovací klíče a používat nebo ověřovat digitální podpisy. GPG je založeno na použití dvojice klíčů, jednoho veřejného a jednoho soukromého (neboli „tajného“). Data zašifrovaná jedním klíčem lze dešifrovat pouze druhým klíčem. Aby vám někdo zašifroval zprávu, použil by váš veřejný klíč k vytvoření zprávy, kterou lze odemknout pouze vaším soukromým klíčem. Chcete-li podepsat informace, uzamkli byste je svým soukromým klíčem a umožnili tak komukoli ověřit, že pochází od vás, odemknutím vašeho veřejného klíče.

GPG má desítky dalších možností, které dolaďují jeho dostupné možnosti. V tomto příspěvku uvidíme, jak generovat klíče PGP pomocí GPG na Linuxu.

Krok 1 :Potvrďte verzi GPG.

# gpg --help

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

Krok 2 :Spusťte proces generování klíče. Zadejte následující příkaz a začněte generovat klíč:

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

Upozorňujeme, že tento klíč nelze použít pro šifrování. Možná budete chtít použít příkaz „–edit-key ” pro vygenerování podklíče pro tento účel. Generování klíčů je dokončeno. V tomto okamžiku jste vygenerovali pár soukromý/veřejný klíč s veřejným klíčem, který lze použít pro účely podepisování. Dalším krokem je přidání podklíče, který bude použit pro šifrování.

Krok 3 :Přidejte podklíč pro šifrování. Zadejte následující příkaz a začněte generovat klíč:

# 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

Potřebujeme vygenerovat spoustu náhodných bajtů. Během primární generace je dobré provést nějakou jinou akci (psát na klávesnici, pohybovat myší, využívat disky); to dává generátoru náhodných čísel větší šanci získat dostatek entropie.

Může se zobrazit následující zpráva. Pokud tak učiníte, postupujte podle pokynů a proces generování podklíče se spustí automaticky.

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

Generování podklíče pro účely šifrování je dokončeno. Dalším krokem je ověření a export klíčů.

Krok 4 :Seznam klíčů. Zadejte následující příkaz pro zobrazení seznamu klíčů na vašem svazku klíčů:

# 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

Krok 5 – Exportujte veřejný klíč (včetně podklíče) ve formátu ASCII. Chcete-li zobrazit seznam klíčů, zadejte následující příkaz:

# 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. Jak vygenerovat žádost o podpis certifikátu (CSR) v systému Linux

  2. Jak převést soubor PPK na klíče OpenSSH a přihlásit se pomocí SSH v Linuxu?

  3. Jak zašifrovat a dešifrovat soubor pomocí GnuPG v Linuxu

  1. Jak nakonfigurovat klíče SSH pomocí cPanel

  2. Jak vygenerovat klíč SSH na dedikovaném serveru Linux?

  3. Jak vytvořit (a publikovat) klíč PGP v systému Linux pomocí GUI

  1. Jak vygenerovat a nastavit klíče SSH na CentOS 7

  2. Jak vygenerovat a nastavit klíče SSH na Debianu 10

  3. Jak nastavit klíče SSH na CentOS 8