Github, Docker 등을 사용하려고 보면 GPG Key를 등록을 해야하는 경우가 있다.
처음엔 단순하게 GPG Key를 등록해서 사용하던 와중에
"GPG Key는 도대체 뭘까?
"내가 개인적으로 사용할 수 있는 방법은 없을까"
궁금해졌고, 이번 기회에 정리해보려고 한다.
GPG는 "GNU Privacy Guard"약자로, 디지털 세계에서 문서 서명, 내용 암호화, 진짜 보낸 사람인지 검증을 해주는 도구
쉽게 말해 **"이 문서를 누가 만들었는지 증명하고, 허락된 사람만 읽게 하는" 디지털 잠금장치 같은 개념이다.
gpg --gen-key→ 나만 아는 비밀키와 모두에게 공개 가능한 공개키 생성| 사용처 | 어떻게 활용되나? |
|---|---|
| ✅ GitHub | 커밋에 서명해서 "이건 내가 한 커밋이에요!" 인증 |
| 🐳 Docker | 공식 이미지나 설치 스크립트가 "진짜 Docker에서 온 것인지" 확인 |
| 📦 Ubuntu, Node.js 등 설치 시 | .deb, .rpm 파일이 공식 서명되었는지 검증 |
| ✉️ 이메일 보안 | 민감한 메일을 암호화하거나, 위조 방지 서명 첨부 |
| 🧾 계약서 전송 | 문서가 위조되지 않았다는 디지털 보장 수단으로 사용 가능 |
| 동작 | 명령어 |
|---|---|
| 키 생성 | gpg --gen-key |
| 키 목록 확인 | gpg--list-keys |
| 공개키 내보내기 | gpg --export -a 이름 -> key.asc |
| 공개키 가져오기 | gpg --import key.asc |
| 파일 서명 | gpg --sign file.txt |
| 파일 암호화 | gpg --encrypt -r 상대방 file.txt |
| 서명 검증 | gpg --verify file.txt.sig |
실제로 해당 명령어들을 어떻게 사용하는지에 대한 예제는 다른 글에서 소개하겠습니다.😊