Debian系统常见文件加密方法
OpenSSL是Debian默认安装的加密工具,支持对称加密(如AES)和非对称加密(如RSA),适合快速加密单个文件。
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.bin(命令会提示输入密码,用于加密/解密)。openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt(需输入相同密码)。-pbkdf2(使用PBKDF2密钥派生算法提升安全性)、-base64(将输出转为Base64格式便于传输)。openssl genpkey -algorithm RSA -out rsa_key.pem -pkeyopt rsa_keygen_bits:2048(2048位私钥)、openssl rsa -pubout -in rsa_key.pem -out rsa_pubkey.pem(提取公钥)。openssl pkeyutl -encrypt -pubin -inkey rsa_pubkey.pem -in plaintext.txt -out encrypted.bin(用公钥加密)。openssl pkeyutl -decrypt -inkey rsa_key.pem -in encrypted.bin -out decrypted.txt(用私钥解密)。GPG是Debian预装的工具,支持公钥加密和数字签名,常用于加密敏感文件或与他人的安全通信。
sudo apt-get install gnupg(若未安装)。gpg --gen-key(按提示设置姓名、邮箱和密码,生成私钥/公钥)。gpg --encrypt --recipient "Recipient Name" file.txt(生成加密文件file.txt.gpg,需收件方公钥)。gpg --decrypt file.txt.gpg > decrypted.txt(需输入私钥密码)。LUKS是Debian推荐的磁盘加密标准,适合加密整个分区或外部设备(如U盘、移动硬盘),提供内核级安全。
sudo apt-get install cryptsetup。sudo cryptsetup luksFormat /dev/sdX(/dev/sdX为目标分区,如/dev/sdb1,操作会清除分区数据)。sudo cryptsetup open /dev/sdX my_encrypted_partition(需输入密码,创建映射设备/dev/mapper/my_encrypted_partition)。sudo mkfs.ext4 /dev/mapper/my_encrypted_partition(格式化为ext4)、sudo mount /dev/mapper/my_encrypted_partition /mnt(挂载到/mnt)。sudo umount /mnt → sudo cryptsetup close my_encrypted_partition。eCryptfs是用户空间加密文件系统,适合加密现有目录(如~/Documents),无需修改文件路径,加密过程对用户透明。
sudo apt-get install ecryptfs-utils。sudo mount -t ecryptfs ~/encrypted ~/encrypted(~/encrypted为需加密的目录,命令会提示设置加密算法、密码等选项)。sudo umount ~/encrypted(加密目录将无法访问,文件恢复加密状态)。EncFS是另一种透明加密工具,通过FUSE(用户空间文件系统)实现,适合加密个人文档或项目目录,配置简单。
sudo apt-get install encfs。mkdir ~/encrypted ~/decrypted(~/encrypted为加密存储目录,~/decrypted为解密后的访问目录)。encfs ~/encrypted ~/decrypted(按提示设置加密选项,如加密算法、密码)。~/decrypted中添加的文件会自动加密存储到~/encrypted,读取时自动解密。fusermount -u ~/decrypted(加密目录将无法访问)。VeraCrypt是TrueCrypt的继任者,支持创建加密卷(文件或分区),适合需要跨平台(Windows、macOS、Linux)的用户,安全性高。
sudo apt-get install veracrypt。veracrypt --volume-type=standard --encryption=AES --hash=SHA-512 --filesystem=ext4 --size=100M ~/encrypted_volume(创建100MB的加密文件卷,使用AES算法和SHA-512哈希)。veracrypt ~/encrypted_volume /mnt(输入密码后,加密卷会挂载到/mnt,可像普通目录一样使用)。veracrypt -d /mnt(关闭加密卷,数据恢复加密状态)。