gpg-agent를 실행하지 않고 스크립트에서 gpg 키를 생성하려면 어떻게 해야 합니까?

gpg-agent를 실행하지 않고 스크립트에서 gpg 키를 생성하려면 어떻게 해야 합니까?

최신 버전에서는 키를 생성할 때 영구 사용자 프로세스( )를 시작합니다 gpg. gpg-agent명령이 종료된 후에도 프로세스는 계속 실행됩니다. 나는 이 행동을 바꾸고 싶다.

현재 저는 아직 실행 중인 unshare모든 항목을 격리하고 종료하기 위해 PID 네임스페이스를 사용하고 있습니다 gpg. 불행하게도 이 접근 방식에는 항상 사용할 수 없는 높은 권한(루트 및 pid/mount 네임스페이스에 대한 액세스)이 필요합니다.

gpg스크립트를 사용하지 않고 gpg 키를 "깨끗하게" 생성하는 방법이 있습니까?

  1. 프로세스를 계속 실행하거나
  2. 높은 권한이 필요합니까?

완전성을 기하기 위해 현재 설정에 대한 대략적인 설명은 다음과 같습니다.

sudo unshare -fp --mount-proc sh -c 'gpg --homedir /tmp/TEMP_DIR --generate-key --batch; kill -9 -1' <<EOF
Key-Type: DSA
Key-Length: 768
Name-Real: TEMPKEY
Name-Comment: TEMPKEY
Name-Email: noreply@localhost
Expire-Date: 0
%no-protection
EOF

답변1

한 가지 가능성은 더 이상 필요하지 않을 때 에이전트를 중지하는 것입니다.

gpgconf --kill gpg-agent

GNUPGHOME사용자 정의 홈 디렉토리를 사용하고 있으므로 다음을 설정 하거나 지정 해야 합니다 --homedir.

GNUPGHOME=/tmp/TEMP_DIR gpgconf --kill gpg-agent

모든 GnuPG 관련 프로세스를 중지하려면 all대신 를 지정하십시오 gpg-agent.

관련 정보