自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

手把手指導(dǎo):在 Linux 上使用 GPG 加解密文件

系統(tǒng) Linux
在本教程中,我將告訴你如何用 GPG 加密和解密文件。這是一個(gè)簡單的教程,你可以在你的 Linux 系統(tǒng)上嘗試所有的練習(xí)。這將幫助你練習(xí) GPG 命令,并在你完全陌生的情況下理解它。

[[440604]]

GnuPG,俗稱 GPG,是一個(gè)非常通用的工具,被廣泛用作電子郵件、信息、文件或任何你需要安全地發(fā)送給別人的東西的加密行業(yè)標(biāo)準(zhǔn)。

學(xué)習(xí)使用 GPG 很容易,你可以在幾分鐘內(nèi)就學(xué)會(huì)使用它。

在本教程中,我將告訴你如何用 GPG 加密和解密文件。這是一個(gè)簡單的教程,你可以在你的 Linux 系統(tǒng)上嘗試所有的練習(xí)。這將幫助你練習(xí) GPG 命令,并在你完全陌生的情況下理解它。

請(qǐng)先閱讀整個(gè)教程,然后開始自己做。

GPG 是如何進(jìn)行加密的? 

GPG 加密

要使用 GPG,你首先需要有一個(gè) GPG 密鑰。

GPG 密鑰是你在后面的教程中用來加密(或解密)文件的東西。它也是用來識(shí)別你的身份的,你的名字和電子郵件也會(huì)與密鑰綁定。

GPG 密鑰的工作原理是使用兩個(gè)文件,一個(gè)私鑰和一個(gè)公鑰。這兩個(gè)密鑰是相互聯(lián)系的,并且 GPG 的所有功能都需要使用它們,特別是對(duì)文件加密和解密。

當(dāng)你用 GPG 加密一個(gè)文件時(shí),它使用的是私鑰。然后,這個(gè)新的加密文件只能用配對(duì)的公鑰進(jìn)行解密。

私鑰,顧名思義,是以私下的、不給任何人看的方式來存儲(chǔ)的密鑰。

另一方面,公鑰是用來給其他人的,或者你希望能夠解密你的文件的任何人。

這就是 GPG 的加密方法的主要作用。它允許你對(duì)文件進(jìn)行本地加密,然后允許其他人確保他們收到的文件實(shí)際上是由你發(fā)送的。因?yàn)樗麄兡軌蚪饷芪募奈ㄒ环椒ㄊ鞘褂媚愕墓€,而這只有在文件首先使用你的私鑰加密的情況下才有效。

反之,其他人可以用你的公鑰對(duì)文件進(jìn)行加密,而唯一能夠解密的方法是用你的私鑰。因此,允許其他人公開發(fā)布文件,而不用擔(dān)心除了你以外的人能夠閱讀它們。(LCTT 譯注:另外一個(gè)常見的用例是你用你的私鑰對(duì)公開發(fā)布的文件進(jìn)行簽名,別人使用你的公鑰通過驗(yàn)證你的簽名而確信文件是你發(fā)布的、并沒有被篡改。但本文沒有涉及這個(gè)用例。)

換句話說,如果一個(gè)文件是用私鑰加密的,它只能用相應(yīng)的公鑰解密。而如果一個(gè)文件是用公鑰加密的,它只能用相應(yīng)的私鑰解密。

你已經(jīng)在使用 GPG 而沒有意識(shí)到

一個(gè)最常見的使用 GPG 的例子是在 Linux 軟件包管理器中,特別是 外部倉庫。你把開發(fā)者的公鑰添加到你系統(tǒng)的可信密鑰中。開發(fā)者用他/她的私鑰簽署軟件包(生成簽名)。由于你的 Linux 系統(tǒng)擁有該公鑰文件,它就能理解該軟件包實(shí)際上是來自受信任的開發(fā)者。

許多加密服務(wù)在你沒有意識(shí)到的情況下使用了某種 GPG 的實(shí)現(xiàn)。但現(xiàn)在最好不要去研究這些細(xì)節(jié)。

現(xiàn)在你對(duì)這個(gè)概念有點(diǎn)熟悉了,讓我們看看如何使用 GPG 來加密一個(gè)文件,然后用它來解密。

用 GPG 對(duì)文件進(jìn)行加密和解密 

[[440605]]

這是一個(gè)非常簡單的場景。我假定你只有一個(gè)系統(tǒng),你想看看 GPG 是如何工作的。你并沒有把文件發(fā)送到其他系統(tǒng)。你對(duì)文件進(jìn)行加密,然后在同一個(gè)系統(tǒng)上解密。

當(dāng)然,這不是一個(gè)實(shí)際的用例,但這也不是本教程的目的。我的目的是讓你熟悉 GPG 命令和功能。之后,你可以在現(xiàn)實(shí)世界中使用這些知識(shí)(如果需要的話)。為此,我將告訴你如何與他人分享你的公鑰。

第一步:安裝 GPG

GPG 可以在大多數(shù)發(fā)行版的軟件庫中找到,開箱即用。

在基于 Debian 和 Ubuntu 的系統(tǒng)中,安裝 gpg 包:

  1. sudo apt install gpg

如果你使用 基于 Arch 的發(fā)行版,用 pacman 命令 安裝 gnupg 軟件包:

  1. sudo pacman -S gnupg

第二步:生成一個(gè) GPG 密鑰

在你的系統(tǒng)上生成一個(gè) GPG 密鑰只需要一條簡單的命令。

只要運(yùn)行下面的命令,就會(huì)生成你的密鑰(你可以對(duì)大多數(shù)問題使用默認(rèn)值,如下面的下劃線部分所示)。

  1. gpg --full-generate-key 

生成 GPG 密鑰

檢查 GPG 密鑰

然后你可以通過使用 --list-secret-keys 和 --list-public-keys 參數(shù),分別看到私鑰和公鑰都是通過 pub 下顯示的那個(gè) ID 相互綁定的。 

列出 GPG 密鑰

第三步:用 GPG 加密一個(gè)文件

現(xiàn)在你已經(jīng)設(shè)置了 GPG 密鑰,你可以開始對(duì)我們的文件進(jìn)行加密了。

使用下面的命令來加密文件:

  1. gpg --encrypt --output file.gpg --recipient user@example.com file

讓我們快速瀏覽一下該命令的內(nèi)容:

首先,你指定了 —encrypt 選項(xiàng)。這告訴 GPG,我們將對(duì)一個(gè)文件進(jìn)行加密。

接下來,你指定了 --output file.gpg。這可以是任何名字,不過慣例是給你要加密的文件的名稱加上 .gpg 擴(kuò)展名(所以 message.txt 會(huì)變成 message.txt.gpg)。

接下來,你輸入 —recipient user@example.com。這指定了一個(gè)相應(yīng)的 GPG 密鑰的電子郵件,這個(gè)密鑰實(shí)際上在這個(gè)系統(tǒng)上還不存在。

有點(diǎn)迷惑?

工作原理是,你在這里指定的電子郵件必須與你本地系統(tǒng)中的公鑰相聯(lián)系。

通常情況下,這將是來自另外一個(gè)人的 GPG 公鑰,你要用它來加密你的文件。之后,該文件將只能用該用戶的私鑰進(jìn)行解密。

在這個(gè)例子中,我將使用我以前的與 user@example.com 關(guān)聯(lián)的 GPG 密鑰。因此,其邏輯是,我用 user@example.com 的 公鑰 對(duì)文件進(jìn)行加密,然后只能用 user@example.com 的 私鑰 進(jìn)行解密。

如果你是為別人加密文件,你只有該公鑰,但由于你是為自己加密文件,你的系統(tǒng)上有這兩個(gè)密鑰。

最后,你只需指定你要加密的文件。在這個(gè)例子中,讓我們使用一個(gè)名為 message.txt 的文件,內(nèi)容如下:

  1. We're encrypting with GPG! 

文本文件樣本

同樣地,如果電子郵件是 user@example.com,新的 GPG 命令將如下所示:

  1. gpg --encrypt --output message.txt.gpg --recipient user@example.com message.txt 

用 GPG 加密文件

如果你嘗試閱讀該文件,你會(huì)看到它看起來像亂碼。這是預(yù)料之中的,因?yàn)樵撐募F(xiàn)在已經(jīng)被加密了。 

讀取加密文件會(huì)產(chǎn)生亂碼

現(xiàn)在讓我們刪除未加密的 message.txt 文件,這樣你就可以看到 message.txt.gpg 文件實(shí)際上在沒有原始文件的情況下也能正常解密。 

第四步:用 GPG 解密加密的文件

最后,讓我們來實(shí)際解密加密的信息。你可以用下面的命令來做。

  1. gpg --decrypt --output file file.gpg

通過這里的參數(shù),我們首先指定 —decrypt,它告訴 GPG 你將會(huì)解密一個(gè)文件。

接下來,你輸入 —output 文件,這只是告訴 GPG,在你解密后,你將把我們文件的解密形式保存到哪個(gè)文件。

最后,你輸入 file.gpg,這是你的加密文件的路徑。

按照這個(gè)例子,我使用的命令是這樣的。

  1. gpg --decrypt --output message.txt message.txt.gpg 

用GPG解密文件

然后就完成了!當(dāng)你想用 GPG 加密和解密文件時(shí),這就是全部內(nèi)容了。

剩下你可能想知道的是如何與他人分享你的公鑰,以便他們?cè)趯⑽募l(fā)送給你之前對(duì)其進(jìn)行加密。

發(fā)送和接收 GPG 密鑰

要給別人發(fā)送一個(gè) GPG 密鑰,你首先需要從你的鑰匙鏈中導(dǎo)出它,它包含了你所有的公鑰和私鑰。

要導(dǎo)出一個(gè)密鑰,只需在你的鑰匙鏈中找到密鑰的 ID,然后運(yùn)行以下命令,用密鑰的 ID 替換 id,用你想保存的文件名替換 key.gpg

  1. gpg --output key.gpg --export id 

導(dǎo)出 GPG 公鑰

要導(dǎo)入一個(gè)密鑰,只需把輸出文件(來自前面的命令)給其他用戶,然后讓他們運(yùn)行下面的命令。

  1. gpg --import key.gpg 

但要正常使用該密鑰,你需要驗(yàn)證該密鑰,以便 GPG 正確地信任它。

這可以通過在其他用戶的系統(tǒng)上使用 --edit-key 參數(shù)來完成,然后對(duì)密鑰進(jìn)行簽名。

首先運(yùn)行 gpg --edit-key id: 

GPG 編輯密鑰

接下來,使用 —fpr 參數(shù),它將顯示密鑰的指紋。這個(gè)命令的輸出應(yīng)該與你自己機(jī)器上的輸出進(jìn)行驗(yàn)證,這可以通過在你的系統(tǒng)上運(yùn)行同樣的 --edit-key 參數(shù)來找到。 

GPG 密鑰的指紋

如果一切吻合,只需使用 —sign 參數(shù),一切就可以開始了。 

簽署 GPG 密鑰

就是這樣!其他用戶現(xiàn)在可以開始用你的公鑰加密文件了,就像你之前做的那樣,這可以確保它們只有在你用你的私鑰解密時(shí)才能被你讀取。

這就是使用 GPG 的所有基礎(chǔ)知識(shí)!

總結(jié) 

現(xiàn)在你已經(jīng)了解了開始使用 GPG 所需要的一切,包括為自己和他人加密文件。正如我前面提到的,這只是為了了解 GPG 的加密和解密過程是如何工作的。你剛剛獲得的基本 GPG 知識(shí)在應(yīng)用于真實(shí)世界的場景中時(shí)可以更上一層樓。

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2017-12-07 10:25:55

LinuxGPG加密解密

2009-10-28 14:25:17

VB.NET Sock

2014-02-27 10:27:46

PC遠(yuǎn)程維護(hù)

2020-06-01 16:25:43

WindowsLinux命令

2010-10-29 14:04:49

2021-11-10 11:40:42

數(shù)據(jù)加解密算法

2011-01-10 14:41:26

2021-07-14 09:00:00

JavaFX開發(fā)應(yīng)用

2009-06-12 18:21:46

App Engine上

2015-07-28 14:27:44

2020-07-16 08:37:39

NginxCentOS7搭建

2020-05-22 08:52:08

LinuxPython工具

2022-12-07 08:42:35

2011-10-27 16:08:17

PHP

2023-05-26 00:34:21

WindowsHadoopLinux

2010-07-06 09:38:51

搭建私有云

2021-12-02 10:25:25

HttpCanaryApp視頻

2009-12-11 09:04:10

Windows搭建Li

2022-01-17 07:50:37

Linux Patch項(xiàng)目

2009-11-09 14:57:37

WCF上傳文件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)