본문 바로가기

리눅스

[draft] 개인 키를 사용하여 공개 키를 생성하는 방법

개인 키(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
  • 개인 키는 백업 시에도 암호화 저장 권장
  • 공개 키만 외부 시스템에 배포