Linux를 사용 중 프로그램을 설치와 삭제를 반복하면 아래와 같은 오류가 발생했다.

W: GPG 오류: http://ppa.launchpad.net natty Release: 다음 서명들은 공개키가 없기 때문에 인증할 수 없습니다: NO_PUBKEY XXXXXXXXXXXXXXXXXX

GPG, 공개키와 인증 등의 생소한 용어가 생소하여 하나씩 알아보자.

1. GPG란?

PGP는 사용자가 서명된 파일 또는 이메일에 사용할 식별 키 시스템으로 인증여부를 확인할 수 있다.

GnuPG(GPG)는  필 짐머만이 개발한 이메일 암호화 프로토콜로 PGP와 호환되게 설계된 GNU 프로젝트의 결과물로 RFC 4880에서 정의된 OpenGL 표준을 구현한GNU의 pgp 암호화 프로그램이다.

원인

PGP 공개키가 서버에 등록되지 않아서 발생하며 3rd party의 PPA를 등록할 때 사용한 참조하는 키가 ubuntu keyserver에 등록되지 않아서다.



해결책

아래 명령을 실행하면 키가 서버에 등록된다.

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXXXXXXXXX

[sudo] password for hyunmu: 

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXXXXXXXXX

gpg: requesting key A088FF1E from hkp server keyserver.ubuntu.com

gpg: key A088FF1E: public key "Launchpad Keng-Yu's PAA" imported

gpg: Total number processed: 1

gpg:               imported: 1  (RSA: 1)


추가 자료

키 추가는 add옵션을, 삭제는 del 옵션을 사용한다.

~/.gnupg$ apt-key --help

Usage: apt-key [--keyring file] [command] [arguments]


Manage apt's list of trusted keys


  apt-key add <file>          - add the key contained in <file> ('-' for stdin)

  apt-key del <keyid>         - remove the key <keyid>

  apt-key export <keyid>      - output the key <keyid>

  apt-key exportall           - output all trusted keys

  apt-key update              - update keys using the keyring package

  apt-key net-update          - update keys using the network

  apt-key list                - list keys

  apt-key finger              - list fingerprints

  apt-key adv                 - pass advanced options to gpg (download key)




저작자 표시 비영리 변경 금지
Posted by 현무랑 니니


티스토리 툴바