在Linux中使用GPG密钥对进行文件加密

时间:2019-05-19 01:26:10  来源:igfitidea点击:

GPG基本文件加密不需要公钥/私钥。
但是为了使加密的文件更加安全,你可以使用RSA/DSA算法。
这些算法生成用于加密文件的公钥和私钥。
本文将完成以下三个在Linux中使用GPG密钥对进行文件加密的任务。
为同一用户帐户在本地创建密钥pairEncrypt/Decrypt文件。
为其他用户加密文件。
解密其他用户的文件。

第1步:创建GPG密钥对

第一步是生成密钥对。
使用以下命令生成gpg密钥对。

# gpg --gen-key

第2步:为当前用户加密/解密文件

为单个用户加密文件。
其他人不可以解密该文件。

# gpg --encrypt --recipient 'Hyman Li' theitroad.txt

–recipient名称应与密钥生成中使用的名称相同。
以上命令将自动生成一个名为theitroad.txt.gpg的加密文件
解密你自己的文件theitroad.txt.gpg

# gpg --output theitroad2.txt --decrypt theitroad.txt.gpg

使用 -output-o指定输出文件名。
上面的命令将提示在密钥对中使用的口令。

步骤3:为其他用户加密文件

使用步骤1生成加密文件。
最后,将你的公钥和加密文件共享给其他人。
要导出公钥,请使用以下命令。

# gpg --armor --output pubkey.txt --export 'Hyman Li'

检查公钥。
应该像下面这样

# cat pubkey.txt

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

mQGiBFFBPwsRBADWAxKxCxLsZ1ZJ512auBkEw51HlF5+k18Yp1giOqIYtbRUPVeq
Y5o5knVKjlJDlVA0/rGh18fbKgubjZl1PL1R+tT0bMIDIs5+hg+S60nSlxBGOhYz

步骤4:解密其他用户文件。

要解密其他用户的文件,需要该用户的公钥。
使用下面的命令将该公钥导入到帐户。
例如,其他用户的公共文件是otherpublic.txt

# gpg --import otherpub.txt

使用下面的命令确保文件已被成功导入。

# gpg --list-keys

以上命令将显示我们帐户中的所有公钥。
确保其他用户的公钥也存在于其中。
现在我们可以使用下面的命令解密其他用户文件

# gpg --output otheruserfile.txt otheruserfile.txt.gpg