개인 키(Private Key)를 사용하여 공개 키(Public Key)를 생성하는 방법
공개 키 암호화에서는 개인 키(Private Key)를 기반으로 공개 키(Public Key)를 생성합니다.
- 개인 키는 절대 외부에 노출되면 안 되며 공개 키는 인증·암호화 목적 등으로 자유롭게 공유할 수 있습니다.
1. OpenSSL을 사용하여 키 생성
개인 키 생성
RSA 알고리즘을 사용하여 개인 키를 생성합니다.
openssl genpkey -algorithm RSA -out private_key.pem
- private_key.pem : 생성된 개인 키 파일
- 기본 키 길이는 OpenSSL 기본값을 사용합니다 (필요 시 -pkeyopt rsa_keygen_bits:2048 옵션 추가 가능)
개인 키에서 공개 키 추출
생성된 개인 키를 기반으로 공개 키를 추출합니다.
openssl rsa -pubout -in private_key.pem -out public_key.pem
- private_key.pem : 입력 개인 키
- public_key.pem : 출력 공개 키
공개 키 확인
cat public_key.pem
공개 키는 -----BEGIN PUBLIC KEY----- 형식으로 출력됩니다.
2. ssh-keygen을 사용하여 공개 키 생성
이미 SSH 개인 키 파일이 존재하는 경우에는 ssh-keygen 명령어를 사용해 공개 키만 추출할 수 있습니다.
ssh-keygen -y -f [개인키 파일] > [공개키 파일]
- -y 개인 키로부터 공개 키 추출
- -f 입력 개인 키 파일
- > 출력 리다이렉션
실제 예제
ssh-keygen -y -f ~/aws-key/awsaccesskey.pem > ~/aws-key-pair/awsaccesskey.pub
- 입력 개인 키 ~/aws-key/awsaccesskey.pem
- 생성된 공개 키 ~/aws-key-pair/awsaccesskey.pub
개인 키 파일 권한
chmod 600 private_key.pem
- 개인 키는 백업 시에도 암호화 저장 권장
- 공개 키만 외부 시스템에 배포
'리눅스' 카테고리의 다른 글
| [draft] 리눅스 배포판(Linux Distros) (0) | 2026.03.03 |
|---|---|
| [draft] Docker Compose로 GitLab Omnibus 컨테이너를 구성하는 방법 (0) | 2026.03.03 |
| [draft] CentOS 7에서 libmcrypt를 설치하는 방법 (0) | 2026.03.03 |
| [draft] docker nettools 컨테이너 실행 (0) | 2026.03.02 |
| [draft] MySQL Replication 구성 (0) | 2026.03.02 |