본문 바로가기

리눅스

개인 키에서 공개 키를 추출하는 방법

반응형

개인 키(PrivateKey)에서 공개 키(PublicKey)를 추출하는 방법

개인 키(Private Key)

  • 서버의 지갑과 같습니다.
  • 절대 공유하지 말고 chmod 600으로 권한을 제한합니다.

공개 키(Public Key)

  • 서버의 자물쇠와 같습니다.
  • 접속 대상 서버의 ~/.ssh/authorized_keys에 등록하여 사용합니다.

1. OpenSSL을 사용하는 방법 (범용 인증서 및 암호화용)

OpenSSL은 웹 서버(Nginx/Apache), SSL/TLS 인증서, 데이터 암호화 등 가장 폭넓게 사용됩니다.

 

RSA 개인 키 생성

openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048

공개 키 추출

openssl rsa -in private_key.pem -pubout -out public_key.pem

결과 확인

cat public_key.pem
728x90

2. ssh-keygen을 사용하는 방법 (서버 접속 및 인증용)

주로 Linux 서버의 SSH 접속, Git 인증, AWS EC2 키 페어 관리 등 사용자 인증에 특화된 방식입니다.

 

명령어 구조

ssh-keygen -y -f [개인키_경로] > [공개키_경로]

실제 적용 예시 (AWS 키페어 등)

ssh-keygen -y -f ~/aws-key/my-server.pem > ~/aws-key/my-server.pub
  • -y: 개인 키를 읽어 SSH 공개 키 형식을 출력하라는 옵션입니다.
  • -f: 입력 파일(개인 키)을 지정합니다.

두 방식의 차이점

구분 OpenSSL (.pem) ssh-keygen (.pub)
시작 문구 -----BEGIN PUBLIC KEY----- ssh-rsa AAAAB3Nza...
주 용도 SSL/TLS 인증서, 앱 데이터 암호화 SSH 서버 접속 (authorized_keys)
호환성 표준 PKCS#8 형식 (범용적) OpenSSH 전용 형식

 

728x90
반응형