[Linux/Ubuntu] apt-key 명령어 사용법
- IT 정보/Linux
- 2020. 4. 11.
최근 외부망에 연결되지 않은 우분투에 호튼웍스 HDP Local Repository를 구축하면서
패키지 리스트에 apt 패키지를 등록하는 작업을 하였습니다.
CentOS에는 Local Repository 생성하는 작업을 기존에 여러번 진행해 보았기 때문에 apt-key를 등록하는 방법까지 쉽게 했었지만, 이번에 우분투에 Local Repository를 등록하면 한참을 헤메었습니다.
그래서 이번 기회에 apt-key를 이용해서 gpg key를 등록하는 방법에 대해 정리하고자 합니다.
apt key가 제대로 등록되어 있지 않을 경우에는 apt update 가 정상적으로 실행되지 않습니다.
Command : apt-key
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)
사용 예시
1. apt key list 확인
$ apt-key list
/etc/apt/trusted.gpg
--------------------
pub rsa4096 2012-06-22 [SC]
DF52 ED4F 7A3A 5882 C099 4C66 B973 3A7A 0751 3CAD
uid [ unknown] Jenkins (HDP Builds) <jenkin@hortonworks.com>
/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-archive.gpg
------------------------------------------------------
pub rsa4096 2012-05-11 [SC]
790B C727 7327 256C 4C18 1F93 614F E6AC C0B2 1F37
uid [ unknown] Ubuntu Archive Automatic Signing Key (2012) <ftpmaster@ubuntu.com>
/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg
------------------------------------------------------
pub rsa4096 2012-05-11 [SC]
8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1222
uid [ unknown] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>
apt-key list 명령어를 통해 확인했을 때, 각 apt keyid는 빨간색으로 표시한 부분이 된다.
/etc/apt/trusted.gpg -------------------- pub rsa4096 2012-06-22 [SC] DF52 ED4F 7A3A 5882 C099 4C66 B973 3A7A 0751 3CAD uid [ unknown] Jenkins (HDP Builds) <jenkin@hortonworks.com> |
2. apt key 추출하기
$ apt-key export B9733A7A07513CAD
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBE/kz5QBEACz65O0pyfgvYrPxXNBKtMaP5HWX1X6rIReg3K24Awn2ULxvFNb
7/zepCopt7IbEwqfMSRI3DbdhA1kNbQzRBgdsfsdfsdfsdfs7VPit6m6Scwfyyaa
dCIBaZWF8jcRsFjHUF4kgK4uZ3gx27bns8HDCpXUKkuZ08n0ggDiZ7Jx5Lnnfk6i
4iHWSXPyS6x0XPVysdfsdfsdfOKN/8KJosMQEzEjPx7/y4S4MycshARkq8g6gK+E
+sHtwfFqJDxYQmh7e77Fr3tLquE86VIVdPjjas2z+sttm+TPlfyoAAGKBhSh6OKX
RRhNXngMJcSMYQ5UIFDzc2rOapTSd+tNJZCD64mbKDSr3Bt9uZ+dasdtEUEdkp2v
3byuR3E6mEITxEbImtPoVcXCAECqC7SKecT8BTDgt7ZcdOLsnnH5lTadSkYm+aAq
XUEqVBONz1231231231sfdsqKuZ1vFgehHRu1lxGpR30cVZLSEXHdIKWB3amt+BlH
7aF/lGpjmxwmFESxFnDpXG4DrxuIOjicnAWD0nBqVActPadsf0WCSjh11lodOr/2
9lbKCgXlh6Ynb84ZCy5T8Crx+j3h5J3UyoFj4gQP/3AHbC3Ig3Oq6udsdfsZ8LEHW
jOpA2+eY7FbB9FOvK0jNkmvDJ2f8mVBGaBI4OL+jkKe7Qcn/UwLA8foObwARAQAB
tC1KZW5raW5zIChIRFAgQnVpbGRzKSA8amVua2sdfdJvftQidoRKVFUY21JPgTgw
xklPYb8mBqiibNFn3L/hYvlvm+LMhR3LLS3OI5wh5Rr7jWIdsf99R2v1f44IwTJ9
uChEI2rBCsdfsfK1231231231fsdfdsfsdflXmBfsdfsdfsdfsdf7IRWRKU3+Ll
FterDA76O7EDPrBKJ9gH6S8sAAE8RiFfNxj4TuYWvzoX9bMe0TLoAZcltAbRuG87
VPzDLVP1lgkBL/BsIywDG423dSZLFm1KF4ptVMGhM+wbEVPsno1AjkOzwmVzVLjZ
5iZJNVf/ruxY0iHhfYnyxz8xCqMQVv9BJ0XOuzk2xU2hFXD9rKg6UCuU/S25X0f4
WdfF0yTKCqONNpTRqL+/hPsdfsdfsdfsdfsdfsdfsdaCaQEfBnC9qMJaZprK0ccz
=I2D5
-----END PGP PUBLIC KEY BLOCK-----
apt-key export <keyid> 명령어를 통해서 apt-key의 pgp public key 를 추출할 수 있다.
이렇게 추출하면 인터넷이 되지 않는 환경에서 이 public key를 .key 파일로 만들어서 apt-key를 등록할 수 있다.
3. apt key 추가하기
$ sudo apt-key add example.key
OK
앞서 추출한 Public key를 가지고 .key 파일을 만든 뒤 add 옵션을 사용해서 apt key 등록이 가능하다.