Bash를 통해 GPG 키에 자동으로 서명하고 신뢰합니다.

Bash를 통해 GPG 키에 자동으로 서명하고 신뢰합니다.

bash를 통한 gpg 및 자동 키 서명에 대한 질문이 있습니다. 서명을 시작하는 스크립트가 있습니다.

gpg --recv $schluessel1
gpg --edit $schluessel1

다음과 같이 시도하면 :

lsign

이는 무시되고 아래 출력만 표시됩니다.

gpg>

위의 팁에 따라 수동으로 작성 lsign하고 나중에 작성할 수 있습니다 y.

이 두 단계를 자동화하는 것이 가능합니까?

답변1

비슷한 작업을 수행하는 스크립트를 독일어로 작성했지만 문제는 아닌 것 같습니다.http://www.openpgp-schulungen.de/scripte/key Generation/key-Generation.sh):

echo addkey$'\n'8$'\n'e$'\n'q$'\n'${length}$'\n'"$expire"$'\n'save$'\n' |
  LC_ALL= LANGUAGE=en gpg --batch --display-charset utf-8 --utf8-strings \
  --passphrase "$PASSPHRASE" --command-fd 0 --edit-key $x_short_id

이는 GnuPG 1.4.x 및 2.0.x에서 작동합니다.

1.4.x에서는 lsign유사한 방식으로 이 작업을 쉽게 수행할 수 있습니다. 2.0.x의 경우에도 주의해야 합니다 gpg-agent. 가능하지만 아직 구현하지 않았습니다. 기본 아이디어는 다음과 같습니다.

  1. gpg-agent교체된 구성으로 시작합니다 pinentry.
  2. pinentryFIFO에서 필요한 데이터를 읽는 대체 방법을 사용하십시오 (스크립트는 에 의해 시작되므로 gpg-agent).
  3. 백그라운드 프로세스를 시작하고 필요한 데이터를 FIFO에 씁니다.

코드 예:

echo "OK - what's up?"
while read cmd rest; do
        # echo "cmd=$cmd rest=$rest" >&2
        : ${PINENTRY_USER_DATA}
        case "$cmd" in
                \#*)
                        :
                ;;
                GETINFO)
                        if [ "pid" = "$rest" ]; then
                                echo "D $$"
                        fi
                        echo "OK"
                ;;
                GETPIN)
                        read PASSPHRASE <"$input_fifo_path"
                        echo "D ${PASSPHRASE}"
                        echo "OK"
                ;;
                BYE)
                        echo "OK"
                        exit 0
                ;;
                *)
                        echo "OK"
                ;;
        esac
done

답변2

방금 정답을 찾았습니다.

gpg --recv $key                     # receive Key from Keyserver
xdotool key y; xdotool key Return   # press y and then return
gpg --edit $key lsign save          # Sign and save the key

먼저 xdotool을 설치해야 sudo apt-get install xdotool자동으로 실행할 수 있습니다. 아직까지는 저장을 시도하지 않았지만 잘 되기를 바랍니다.

관련 정보