본문 바로가기

Operation

Pem / Pub File

반응형

Pem 파일이란?

    '.pem' 파일은 원격 컴퓨터에 ssh 연결을 위해 사용되는 인증 파일로, AWS, Azure, OCI 등 다양한 클라우트 컴퓨팅 플랫폼에서 사용되는 인증파일이다. 이러한 서비스들은 자체적으로 인증키 파일을 생성하고 기본적으로 설정하는 기능을 제공하지만, 이 글에서는 좀 더 전문적으로 인증파일들을 관리하고 설정하는 방법을 알아보고 이를 어떻게 클라우드 컴퓨팅 서비스에 설정 할 수 있는지 알아보도록 하겠다.

sudo mkdir .key
sudo chmod 600 -R .key
sudo cd .key

    우선 키 파일을 저장할 폴더를 만들고 권한을 설정해 주도록 한다.

sudo openssl genpkey -algorithm RSA -aes-256-cbc -outform PEM -out private_key.pem -pkeyopt rsa_keygen_bits:2048
sudo ssh-keygen -y -f private_key.pem > public_key.pub

    이 명령은 RSA 알고리즘을 사용해 2048비트 개인 키를 생성합니다. 개인 키는 매우 중요한 정보이므로 -aes-256-cbc 옵션을 통해 AES-256 암호화를 적용해 저장한다. 이 과정에서 인증파일을 사용할 때 필요한 비밀번호를 설정해 줄 수 있다. 대부분의 클라우드 플랫폼에서는 개인 키(.pem) 파일을 서버에 직접 사용하는 대신, 여기서 공개 키를 추출해 authorized_keys 파일에 저장해야 한다. 두번째 줄의 명령어를 사용하면 개인 키에서 공개 키를 추출해 public_key.pub 파일에 저장할 수 있다.

Reference

[1] https://kentakodashima.medium.com/generate-pem-keys-with-openssl-on-macos-ecac55791373

 

Generate Pem Keys with OpenSSL on macOS

Recently, I had a situation where I need to create private and public keys with the .pem extention to build an authentication server using…

kentakodashima.medium.com

[2] https://smarthink.tistory.com/25

 

PEM Key 로 public Key 생성하기

사실 보안상 그러면 안되지만, 여러개의 키를 관리하기 귀찮아서 하나의 PEM 키로 모든 서버에 로그인 하고 싶었다.그러기 위해선 각 서버의 Authorized_keys 에 내 public key의 내용물들이 저장되어 있

smarthink.tistory.com

 

반응형