我正在尝试解密一个gpg文件,但是不断地收到以下错误:
gpg:解密失败:坏会话密钥
后来我意识到gpg密码(由脚本设置)里面有一个感叹号。
Passphrase=“我的!传球”
当通过TTY设置时,bash抱怨
-bash:!pass:未找到事件
当我回音变量时,它是未设置的。
user@host:~$ echo $passphrase
user@host:~$所以,变量是未知的,这就是为什么我不能解密我的文件。
我尝试了以下密码:
很肯定我刚刚在这里学到了一个非常痛苦的教训,但值得一试。
有人能帮上忙吗?
发布于 2021-09-19 10:15:18
有几点意见值得注意。
passphrase="my!pass"。这并不意味着“使用!作为字符串的一部分”。!pass的意思是“读取历史记录,并获得以pass开头的最后一个命令”。如果历史上没有以pass开头的逗号,则会在命令行中引发错误bash: !pass: event not found。所以我猜你没写剧本。当历史中有一些命令以pass开头时,它被设想为一种情况。passphrase="my!pass"__),bash会抱怨.当我回显变量时,它将被取消设置”。如前所述,将引发错误。但是还有两件事正在发生: 1)命令没有执行。也就是说,您甚至没有得到"my“(您可能期望得到"my”= "my“+空字符串)作为passphrase的值,它保持未设置。2)该命令甚至没有添加到历史记录中。至于你的一些问题:
我不知道你的其他问题,但这也许有助于你理解和解决问题。
https://askubuntu.com/questions/1364549
复制相似问题