Как удалить закрытые ключи GPG из памяти?

Как удалить закрытые ключи GPG из памяти?

Когда я делаю следующее:

gpg --decrypt somefile.pgp

Я вижу графическое диалоговое окно, в котором меня просят ввести пароль для моего закрытого ключа GPG.

После этого для последующих запусков не требуется парольная фраза, поскольку они, по-видимому, используют ключ GPG из GPG-агента в памяти.

Как мне очистить все ключи этого агента GPG? Мне не нравится, чтобы они болтались в памяти бесполезно.

решение1

man gpg-agentдает тебе:

   --default-cache-ttl n
          Set the time a cache entry is valid to n seconds.  The default is 600 seconds.

Либо измените способ запуска gpg-agent и добавьте этот параметр с более коротким временем жизни, либо вообще не запускайте gpg-agent.

Редактировать

Вам нужно выяснить, какая именно программа запрашивает у вас пароль. Пока что стало ясно, что это не gpg-agent и не seahorse.

При открытом окне запустите wmctrl -lp | grep "The Window Title, Case Sensitive". Вы должны увидеть строку типа:

0x03e0000c  0 2580   <your_host_name>  The Window Title

Третье число — это идентификатор процесса. Запустите cat /proc/2580/cmdline(заменив 2580 на фактический идентификатор процесса), и вы увидите программный файл того, что запрашивает у вас пароль, вместе с любыми параметрами. Затем вы можете посмотреть его и посмотреть, что с этим можно сделать. Удаление его, безусловно, является вариантом.

Связанный контент