5.6. GPG2 키 생성

다음 절차에서는 암호화 유틸리티에서 사용할 GPG2 키를 생성하는 방법을 설명합니다.

사전 요구 사항

  • root 권한이 필요합니다.

절차

  1. pinentry 유틸리티를 설치하고 구성합니다.

    [root@server ~]# dnf install pinentry
    [root@server ~]# mkdir ~/.gnupg -m 700
    [root@server ~]# echo "pinentry-program /usr/bin/pinentry-curses" >> ~/.gnupg/gpg-agent.conf
  2. 기본 세부 정보를 사용하여 GPG 키 쌍을 생성하는 데 사용되는 키 입력 파일을 만듭니다. 예를 들어 다음과 같습니다.

    [root@server ~]# cat >key-input <<EOF
    %echo Generating a standard key
    Key-Type: RSA
    Key-Length: 2048
    Name-Real: GPG User
    Name-Comment: first key
    Name-Email: root@example.com
    Expire-Date: 0
    %commit
    %echo Finished creating standard key
    EOF
  3. (선택 사항) 기본적으로 GPG2는 해당 인증 키를 ~/.gnupg 파일에 저장합니다. 사용자 지정 인증 키 위치를 사용하려면 GNUPGHOME 환경 변수를 루트에서만 액세스할 수 있는 디렉터리로 설정합니다.

    [root@server ~]# export GNUPGHOME=/root/backup
    
    [root@server ~]# mkdir -p $GNUPGHOME -m 700
  4. 입력 파일의 콘텐츠를 기반으로 새 GPG2 키를 생성합니다.

    [root@server ~]# gpg2 --batch --gen-key key-input
  5. GPG2 키를 보호하려면 암호를 입력합니다. 이 암호를 사용하여 암호 해독을 위해 개인 키에 액세스합니다.

    ┌──────────────────────────────────────────────────────┐
    │ Please enter the passphrase to                       │
    │ protect your new key                                 │
    │                                                      │
    │ Passphrase: <passphrase>                             │
    │                                                      │
    │	 <OK>                             <Cancel>         │
    └──────────────────────────────────────────────────────┘
  6. 다시 입력하여 올바른 암호를 확인합니다.

    ┌──────────────────────────────────────────────────────┐
    │ Please re-enter this passphrase                      │
    │                                                      │
    │ Passphrase: <passphrase>                             │
    │                                                      │
    │	 <OK>                             <Cancel>         │
    └──────────────────────────────────────────────────────┘
  7. 새 GPG2 키가 성공적으로 생성되었는지 확인합니다.

    gpg: keybox '/root/backup/pubring.kbx' created
    gpg: Generating a standard key
    gpg: /root/backup/trustdb.gpg: trustdb created
    gpg: key BF28FFA302EF4557 marked as ultimately trusted
    gpg: directory '/root/backup/openpgp-revocs.d' created
    gpg: revocation certificate stored as '/root/backup/openpgp-revocs.d/8F6FCF10C80359D5A05AED67BF28FFA302EF4557.rev'
    gpg: Finished creating standard key

검증 단계

  • 서버에서 GPG 키를 나열합니다.

    [root@server ~]# gpg2 --list-secret-keys
    gpg: checking the trustdb
    gpg: marginals needed: 3  completes needed: 1  trust model: pgp
    gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
    /root/backup/pubring.kbx
    ------------------------
    sec   rsa2048 2020-01-13 [SCEA]
          8F6FCF10C80359D5A05AED67BF28FFA302EF4557
    uid           [ultimate] GPG User (first key) <root@example.com>