Рейтинг:1

Расшифровка GPG: неверный ключ сеанса/переменная не установлена/восклицательный знак

флаг us

Я пытаюсь расшифровать файл gpg, но постоянно получаю следующую ошибку:

gpg: расшифровка не удалась: неверный ключ сеанса

Позже я понял, что парольная фраза gpg (которая устанавливается скриптом) содержит восклицательный знак.

парольная фраза = "мой! пароль"

При настройке через TTY bash жалуется

-bash: !pass: событие не найдено

Когда я повторяю переменную, она не установлена.

пользователь@хост:~$ эхо $фраза-пароль

пользователь@хост:~$

Итак, переменная неизвестна, и я предполагаю, что именно поэтому я не могу расшифровать свой файл.

В качестве пароля пробовал следующее:

  • мой! пройти
  • мой
  • !проходят
  • 'мой! пропуск'
  • -bash: !pass: событие не найдено
  • bash: !pass: событие не найдено
  • -баш:
  • удар:
  • событие не найдено

Совершенно уверен, что я только что усвоил очень болезненный урок, но попробовать стоит.

Может ли кто-нибудь помочь с:

  1. Что делает bash с неустановленной переменной, если вы пытаетесь ее использовать?
  2. Как сценарий обрабатывает неустановленную переменную?
  3. Можно ли что-нибудь еще попробовать вместо пароля?
  4. Есть ли код пробела ASCII/UTF, который я могу попробовать вместо пароля?
FedKad avatar
флаг cn
Вы пробовали пустую (`''`) строку?
edooze avatar
флаг us
Вот почему я не на 100% уверен, что проблема заключается в переменной, я нажал клавишу ввода при появлении запроса, и он говорит: «Нет секретного ключа». Справедливо. К сожалению, я не могу найти способ изменить то, что он считает ключом, и он просто продолжает говорить «нет секретного ключа» и не запрашивает другой.
sancho.s ReinstateMonicaCellio avatar
флаг pl
Предложения сработали для вас? Пожалуйста, оставьте отзыв.
Рейтинг:1
флаг pl

Стоит отметить несколько замечаний.

  1. "... парольная фраза gpg (устанавливается скриптом)". Я так понимаю, вы не писали сценарий. Пожалуйста, опубликуйте сценарий.Есть ли инструкция по его использованию?
  2. парольная фраза = "мой! пароль". Это не означает «использовать! как часть строки». !проходят означает "прочитать историю и получить последнюю команду, начинающуюся с проходят". Если в истории нет команд, начинающихся с проходят, Ошибка bash: !pass: событие не найдено поднимается, как вы попадаете в командную строку. Вот почему я предполагаю, что вы не написали сценарий. Он задуман для случая, когда в истории есть какая-то команда, начинающаяся с проходят.
  3. "При настройке через TTY (и я думаю, вы казнили парольная фраза = "мой! пароль"), bash жалуется... Когда я повторяю переменную, она не устанавливается". Как было сказано выше, возникает ошибка. Но происходит еще две вещи: 1) Команда не выполняется. То есть вы даже не получаете «мой» (вы могли ожидать получить «мой» = «мой» + пустая строка) в качестве значения парольная фраза, он остается неустановленным. 2) Команда даже не добавляется в историю.

Что касается некоторых ваших вопросов:

  1. Что делает bash с неустановленной переменной, если вы пытаетесь ее использовать? bash обычно заменяет его пустой строкой. Но вообще говоря, это зависит от того, как оно используется, оно может вызвать ошибки, у вас может быть предложение, которое заменяет его значение значением по умолчанию, если оно не установлено, и т. д. На это нет единого ответа.
  2. Как сценарий работает с неустановленной переменной? То же, что и выше.

Я не знаю об остальной части вашей проблемы, но это, возможно, поможет вам понять проблему и решить ее.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.