讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么解密被gpg加密的文件

大晨吖_9285

大晨吖_9285

发布时间:2026-11-06 11:06:16

|

547人浏览过

|

来源于php中文网

原创

gpg解密失败主因是密钥状态或加密方式不匹配:需确认私钥已导入、未过期、UID匹配,且区分对称加密(只需密码)与非对称加密(需对应私钥);文件名.gpg不决定加密类型,应通过file或gpg --list-packets判断。

linux怎么解密被gpg加密的文件

gpg 解密失败,八成不是命令写错了,而是密钥、权限或加密方式没对上。直接用 gpg --decrypt 能跑通的前提是:你有对应私钥、它已导入、没过期、且密码记得住。

确认私钥是否已导入并可用

解密前必须确保你的私钥在本地密钥环里,否则 gpg 根本找不到解密凭据。

  • 运行 gpg --list-secret-keys,看输出里有没有匹配加密文件所用身份(比如邮箱或姓名)的私钥条目
  • 如果空白或报错 gpg: directory '/home/xxx/.gnupg' not found,说明还没初始化密钥环,得先 gpg --gen-key 或 gpg --import private.key
  • 若私钥是别人给的(如 mykey.asc),导入时用 gpg --import mykey.asc,注意该文件必须是 ASCII-armored(含 -----BEGIN PGP PRIVATE KEY BLOCK-----)或二进制格式,不能是加密后的 .gpg 文件
  • 私钥被设了过期时间?检查输出中 [expires: ...] 字段,过期后 gpg 默认拒绝使用(可加 --ignore-valid-from 强制,但不推荐)

区分对称加密和非对称加密的解密方式

gpg --decrypt 看似万能,实则行为取决于加密时用的是哪种模式——这点最容易踩坑。

Linux Security Scanner
Linux Security Scanner

Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...

下载
  • 如果是用 gpg -c file.txt(即 --symmetric)加密的,解密时不需要私钥,只靠密码;运行 gpg -d file.txt.gpg 即可,会提示输入对称密码
  • 如果是用 gpg -e -r "Alice" file.txt 加密的,说明用了 Alice 的公钥,那只有 Alice 的私钥能解——你得确认当前系统里装的是 Alice 的私钥,而不是你自己的
  • 混淆点:文件名带 .gpg 后缀 ≠ 一定用了非对称加密;它只是默认扩展名,-c 和 -e 都会产生这个后缀
  • 不确定加密方式?试 file encrypted.gpg:若输出含 PGP RSA 或 PGP DSA,大概率是非对称;若含 IDEA、AES、3DES 且无密钥标识,基本是对称加密

常见错误现象与绕过方法

命令执行后卡住、报错或输出乱码,别急着重装 GPG,先查这几处。

  • 报错 gpg: decryption failed: No secret key:私钥缺失或 UID 不匹配。用 gpg --list-packets encrypted.gpg 2>/dev/null | grep -A2 "keyid\|issuer" 查加密时用的 keyid,再比对 gpg -K --keyid-format long 输出
  • 终端里输密码没反应、光标不动:可能是 TTY 环境下 pinentry 程序没起来。临时改用 echo "mypass" | gpg --pinentry-mode loopback --passphrase-fd 0 --decrypt encrypted.gpg(需提前配置 allow-loopback-pinentry)
  • 解密后内容是空或乱码:可能是输出被重定向到了不可写路径,或用了 -o 但目标目录不存在。优先用 gpg -d encrypted.gpg > out.txt,避免 --output 路径权限问题
  • Mac 上用 Homebrew 安装的 GPG 报 gpg: signing failed: Inappropriate ioctl for device:这是 pinentry 冲突,删掉 ~/.gnupg/gpg-agent.conf 里的 pinentry-program 行,重启 agent:gpgconf --kill gpg-agent

安全与兼容性提醒

生产环境解密,别只盯着“能不能跑通”,还得看“靠不靠得住”。

  • 老版本 GPG(如 1.x)加密的文件,GPG 2.3+ 可能默认禁用某些算法(如 CAST5、RSA-1024)。遇到 gpg: encrypted with 1024-bit RSA key + decryption failed,加 --cipher-algo AES256 --digest-algo SHA256 强制指定,或降级用 gpg1 命令(如果系统装了)
  • 私钥口令强度不够,或保存在未加密的磁盘上,解密成功也等于白忙——gpg --export-secret-keys 导出私钥前务必用 gpg --symmetric 再包一层
  • 脚本中自动解密?别硬编码密码。用 gpg --batch --passphrase-fd 0 从 stdin 读,配合 systemd 的 LoadCredential= 或 pass 工具管理凭据
实际解密动作本身很简单,难的是把密钥状态、加密上下文和环境配置对齐。很多“解不开”的问题,本质是不知道当初怎么加密的——建议每次加密后顺手记一行 gpg --list-packets file.gpg | head -n10 到 README 里。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4430

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3713

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2993

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

7390

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

7042

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

4013

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

3505

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

3739

2023.07.25

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

20

2026.11.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ubuntu官方总文档
ubuntu官方总文档

共0课时 | 0人学习

如何安装 Composer
如何安装 Composer

共1课时 | 221人学习

Git 教程
Git 教程

共21课时 | 8.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn