首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GPG解密:坏会话密钥/变量未设置/感叹号

问GPG解密:坏会话密钥/变量未设置/感叹号
EN

Ask Ubuntu用户
提问于 2021-09-19 09:11:55
回答 1查看 575关注 0票数 1

我正在尝试解密一个gpg文件,但是不断地收到以下错误:

gpg:解密失败:坏会话密钥

后来我意识到gpg密码(由脚本设置)里面有一个感叹号。

Passphrase=“我的!传球”

当通过TTY设置时,bash抱怨

-bash:!pass:未找到事件

当我回音变量时,它是未设置的。

代码语言:javascript
复制
user@host:~$ echo $passphrase

user@host:~$

所以,变量是未知的,这就是为什么我不能解密我的文件。

我尝试了以下密码:

  • 我的!传球
  • 我的
  • !通过
  • “我的!传球”
  • -bash:!pass:未找到事件
  • bash:!pass:找不到事件
  • -bash:
  • bash:
  • 事件未找到

很肯定我刚刚在这里学到了一个非常痛苦的教训,但值得一试。

有人能帮上忙吗?

  1. 如果您尝试使用一个未设置的变量,bash会做什么?
  2. 脚本如何处理未设置的变量?
  3. 还有什么可以代替密码的吗?
  4. 是否有一个ASCII / UTF空白代码,我可以尝试代替密码?
EN

回答 1

Ask Ubuntu用户

发布于 2021-09-19 10:15:18

有几点意见值得注意。

  1. “. gpg密码(由脚本设置)”。我猜不是你写的剧本。请贴上剧本。有使用说明吗?
  2. passphrase="my!pass"。这并不意味着“使用!作为字符串的一部分”。!pass的意思是“读取历史记录,并获得以pass开头的最后一个命令”。如果历史上没有以pass开头的逗号,则会在命令行中引发错误bash: !pass: event not found。所以我猜你没写剧本。当历史中有一些命令以pass开头时,它被设想为一种情况。
  3. “当通过TTY设置时(我猜您执行了passphrase="my!pass"__),bash会抱怨.当我回显变量时,它将被取消设置”。如前所述,将引发错误。但是还有两件事正在发生: 1)命令没有执行。也就是说,您甚至没有得到"my“(您可能期望得到"my”= "my“+空字符串)作为passphrase的值,它保持未设置。2)该命令甚至没有添加到历史记录中。

至于你的一些问题:

  1. 如果您尝试使用一个未设置的变量,bash会做什么?bash通常用空字符串替换它。但一般来说,这取决于它的使用方式,它可能会引起错误,你可能会有一个句子,如果它没有被设置,你可能会用默认值代替它的值,等等。
  2. 脚本如何处理未设置的变量?和上面一样。

我不知道你的其他问题,但这也许有助于你理解和解决问题。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1364549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档