跳转到内容跳转到页面导航:上一页 [访问键 p]/下一页 [访问键 n]
适用于 openSUSE Leap 15.6

12 加密分区和文件 编辑源文件

加密文件、分区和整个磁盘可以防止未经授权访问您的数据,并保护您的机密文件和文档。

您可以选择以下加密选项

加密硬盘分区

您可以在安装期间或已安装的系统中,使用 YaST 创建加密分区。有关更多信息,请参阅第 12.1.1 节,“在安装期间创建加密分区”第 12.1.2 节,“在正在运行的系统上创建加密分区”。此选项也可用于可移动介质,例如外部硬盘,如第 12.1.3 节,“加密可移动介质的内容”中所述。

使用 GPG 加密单个文件

要快速加密一个或多个文件,可以使用 GPG 工具。请参阅第 12.2 节,“使用 GPG 加密文件”以获取更多信息。

使用 Rage 加密单个文件

您可以使用 Rage 加密工具来加密一个或多个文件。请参阅第 12.3 节,“使用 Rage 加密文件”以获取更多信息。

Warning
警告:加密提供有限的保护

本章中描述的加密方法无法保护您的运行系统免受入侵。在成功挂载加密卷后,具有适当权限的任何人都可以访问它。但是,如果您的计算机丢失或被盗,或者为了防止未经授权的人员读取您的机密数据,加密介质很有用。

12.1 使用 YaST 设置加密文件系统 编辑源文件

使用 YaST 在安装期间或已安装的系统中加密分区或文件系统的一部分。但是,在已安装的系统上加密分区更加困难,因为您需要调整和更改现有分区。在这种情况下,创建具有定义大小的加密文件可能更方便,以便存储其他文件或文件系统的一部分。要加密整个分区,请在分区布局中为加密分配一个分区。YaST 建议的标准分区方案默认情况下不包含加密分区。在分区对话框中手动添加加密分区。

12.1.1 在安装期间创建加密分区 编辑源文件

Warning
警告:密码输入

请务必记住加密分区的密码。没有该密码,您将无法访问或恢复加密的数据。

YaST 专家分区对话框提供了创建加密分区所需选项。要创建新的加密分区,请按以下步骤操作

  1. 使用 系统 › 分区程序 运行 YaST 专家分区程序。

  2. 选择硬盘,单击 添加,然后选择主分区或扩展分区。

  3. 选择分区大小或要在磁盘上使用的区域。

  4. 选择文件系统和此分区的挂载点。

  5. 激活 加密设备 复选框。

    Note
    注意:需要其他软件

    选中 加密设备 后,可能会出现一个弹出窗口,要求安装其他软件。确认安装所有必需的软件包,以确保加密分区正常工作。

  6. 如果需要时挂载加密文件系统,请在 Fstab 选项 中启用 不挂载分区。否则,启用 挂载分区 并输入挂载点。

  7. 单击 下一步 并输入用于加密此分区的密码。此密码不会显示。为了防止输入错误,您需要两次输入密码。

  8. 通过单击 完成 完成该过程。现在已创建新的加密分区。

在启动过程中,操作系统会在挂载任何在 /etc/fstab 中设置为自动挂载的加密分区之前询问密码。然后,该分区将对所有用户可用(如果已挂载)。

要跳过在启动过程中挂载加密分区,请在提示输入密码时按 Enter。然后拒绝再次输入密码的提示。在这种情况下,加密文件系统不会挂载,操作系统将继续启动,从而阻止访问您的数据。

要挂载在启动过程中未挂载的加密分区,请打开文件管理器,然后单击文件系统列表中常见位置窗格中的分区条目。系统会提示您输入密码,然后挂载该分区。

如果您在已存在分区的计算机上安装系统,也可以决定在安装期间加密现有分区。在这种情况下,请按照第 12.1.2 节,“在正在运行的系统上创建加密分区”中的描述进行操作,并注意此操作会破坏现有分区上的所有数据。

12.1.2 在正在运行的系统上创建加密分区 编辑源文件

Warning
警告:在正在运行的系统上激活加密

也可以在正在运行的系统上创建加密分区。但是,加密现有分区会破坏其上的所有数据,并且需要重新调整和重构现有分区。

在正在运行的系统上,选择 系统 › 分区程序 在 YaST 控制中心。单击 以继续。在 专家分区程序 中,选择要加密的分区,然后单击 编辑。其余过程与第 12.1.1 节,“在安装期间创建加密分区”中描述的相同。

12.1.3 加密可移动介质的内容 编辑源文件

YaST 将可移动介质(如外部硬盘或闪存盘)与任何其他存储设备一样对待。虚拟磁盘或外部介质上的分区可以按照上述方式进行加密。但是,您应该禁用启动时挂载,因为可移动介质是在系统启动并运行时连接的。

如果您使用 YaST 加密了可移动设备,GNOME 桌面会自动识别加密分区,并在检测到该设备时提示输入密码。如果您在运行 GNOME 时插入格式为 FAT 的可移动设备,桌面用户输入密码会自动成为该设备的拥有者。对于使用除 FAT 以外的文件系统的设备,请显式更改其他用户的权限,以授予他们对该设备的读写访问权限。

12.2 使用 GPG 加密文件 编辑源文件

GNU Privacy Guard (GPG) 加密软件可用于加密单个文件和文档。

要使用 GPG 加密文件,您首先需要生成密钥对。为此,运行 gpg --gen-key 并按照屏幕上的说明操作。在生成密钥对时,GPG 会创建一个用户 ID (UID) 以基于您的真实姓名、评论和电子邮件地址来标识密钥。您需要此 UID(或仅为其一部分,例如您的名字或电子邮件地址)来指定要用于加密文件的密钥。要查找现有密钥的 UID,请使用 gpg --list-keys 命令。要加密文件,请使用以下命令

> gpg -e -a --cipher-algo AES256 -r UID FILE

UID 替换为 UID 的一部分(例如,您的名字),并将 FILE 替换为您要加密的文件。

> gpg -e -a --cipher-algo AES256 -r Tux secret.txt

此命令创建一个可由 .asc 文件扩展名识别的加密版本的指定文件(在本例中,为 secret.txt.asc)。

-a 将文件格式化为 ASCII 文本,如果您希望内容可复制。省略 -a 以创建二进制文件,在上面的示例中将是 secret.txt.gpg

要解密加密的文件,请使用以下命令

> gpg -d -o DECRYPTED_FILE ENCRYPTED_FILE

DECRYPTED_FILE 替换为所需的解密文件名,并将 ENCRYPTED_FILE 替换为您要解密的加密文件。

请记住,加密的文件可以使用用于加密的相同密钥进行解密。要与另一个人共享加密的文件,您必须使用该人的公钥来加密该文件。

12.3 使用 Rage 加密文件 编辑源文件

Rage 是一种安全的的文件加密软件,用于加密文件。它具有易于与其他人共享的密钥,并具有安全的默认设置,以防止意外使用或泄露敏感数据。我们建议使用 Rage 加密文件。

您可以使用以下命令安装 Rage

> sudo zypper install rage-encryption

接收者首先需要生成密钥对才能使用 Rage 加密文件

> rage-keygen -o ~/rage.key 2 ~/rage.pub

创建了两个文件;rage.pubrage.key

rage.pub 示例
> cat file.pub
    Public key: age17e4g67cs07jk3lmylyq6gduv26uf7tz7nm9jrsaxn8xxx9uc9amsdg4a5e
rage.key 示例
>  cat file.key
    # created: 2023-05-30T16:29:20+05:30
    # public key: age17e4g67cs07jk3lmylyq6gduv26uf7tz7nm9jrsaxn8xxx9uc9amsdg4a5e
Important
重要提示

file.key 是一个私钥,应保密。

加密

要加密文件,您需要生成的公钥

> rage -e -r PUBLIC_KEY -o ENCRYPTED_FILE FILE

例如

> rage -e -r age17e4g67cs07jk3lmylyq6gduv26uf7tz7nm9jrsaxn8xxx9uc9amsdg4a5e -o test.txt.age test.txt
解密

加密的文件可以由拥有相应私钥的接收者解密。要与另一个人共享加密的文件,您必须使用该人的公钥来加密该文件。

> rage -d -i ~/rage.key -o DECRYPTED_FILE ENCRYPTED_FILE FILE

例如

> rage -d -i ~/rage.key -o test.txt.decrypted test.txt.age
密码短语

您可以使用密码短语通过 -p--passphrase 参数加密文件。默认情况下,Rage 会自动生成安全的密码短语,但您也可以选择输入密码短语。

> rage -e -p -o ENCRYPTED_FILE FILE

例如

> rage -e -p -o test.txt.age test.txt
SSH

您可以使用 SSH(安全套接字壳)密钥而不是 Rage 密钥来加密文件。Rage 支持 ssh-rsassh-ed25519 公钥,并使用相应的私钥文件进行解密。ssh-agentssh-sk(FIDO) 不受支持。

> rage -e -p -o ENCRYPTED_FILE FILE

例如

> rage -e -p -o test.txt.age test.txt

例如

>  ssh-keygen -t ed25519

要加密

>  rage -e -a -R PUBLIC_KEY_FILE -o ENCRYPTED_FILE FILE

例如

>  rage -e -a -R id_ed25519.pub -o test.txt.age test.txt

要解密

>  rage -d -i SSH_PRIVATE_KEY_FILE -o DECRYPTED_FILEENCRYPTED_FILE

例如

>  rage -d -i id_ed25519 -o test.txt.decrypted test.txt.age
Important
重要提示

您必须输入密钥和文件的路径。

多个身份

Rage 可以同时加密到多个身份。接收者的任何私钥都可以用于解密该文件。

rage -e -a -R FIRST_SSH_PUBLIC_KEY-r FIRST_RAGE_PUBLIC_KEY... -o ENCRYPTED_FILE FILE

例如

rage -e -a -R id_ed25519.pub -r age1h8equ4vs5pyp8ykw0z8m9n8m3psy6swme52ztth0v66frgu65ussm8gq0t -o -r age1y2lc7x59jcqvrpf3ppmnj3f93ytaegfkdnl5vrdyv83l8ekcae4sexgwkg test.txt.age test.txt
Tip
提示

您可以使用 -h--help 参数列出所有 Rage 命令参数。

12.3.1 其他资源 编辑源文件

打印此页面