GPG зависает при доступе к закрытым ключам

Попробуйте

yum install xz-devel

на Centos, чтобы получить библиотеки liblzma (например, для Silver-searchcher. Также может потребоваться pcre-devel для зависимости libpcre)

13
28.07.2017, 05:50
2 ответа

Я столкнулся именно с этой проблемой (OSX Sierra 10.12.6, gpg/GnuPG 2.2.5)

Команды, которые будут зависать:

gpg -K # --list-secret-keys
gpg -d # --decrypt
gpg --edit-key
gpgconf --kill gpg-agent

Мое решение было таким же, как упомянуто Джоном выше (, т.е. kill gpg -агент ), так как большинство других методов на как -can -i -перезапустить -gpg -агент также будут зависать.

# Solution    
pkill -9 gpg-agent

Затем для подписания коммитов git я установил tty env, как указано в cas выше, а также в gpg -failed -на -sign -commit -объект .

export GPG_TTY=$(tty)
31
27.01.2020, 19:53
$ ❯ ps aux | grep -E "gpg-agent"
alper      28970  0.0  0.0  92436  3284 ?        SLsl 15:31   0:00 /usr/bin/gpg-agent --supervised

Здесь выходная переменная содержит 28970.


from subprocess import Popen, PIPE
import signal

def kill_process_by_name(process_name):
    p1 = Popen(["ps", "auxww"], stdout=PIPE)
    p2 = Popen(["grep", "-E", process_name], stdin=p1.stdout, stdout=PIPE)
    p1.stdout.close()  # noqa
    p3 = Popen(["awk", "{print $2}"], stdin=p2.stdout, stdout=PIPE)
    p2.stdout.close()
    output = p3.communicate()[0].decode("utf-8").strip()
    lines = output.splitlines()  # awk may return more than one pid number
    for pid in lines:
        if pid.isnumeric():
            breakpoint()  # DEBUG
            os.kill(int(pid), signal.SIGKILL)
0
31.10.2021, 11:32

Теги

Похожие вопросы