본문 바로가기
AWS

[AWS] Secret Manager에 SSH Key 등록하기

by chan10 2025. 7. 27.

AWS 환경에서 보안이 중요한 경우, SSH private key를 안전하게 관리할 수 있는 방법 중 하나는 Secrets Manager를 활용하는 것입니다. 이 포스트에서는 SSH 키를 생성하고, private key를 AWS Secrets Manager에 등록하는 전 과정을 소개합니다.

 

SSH Key 생성

먼저 RSA 4096 비트 SSH 키를 생성합니다.

ssh-keygen -t rsa -b 4096 -C "" -m PEM -N "" -f chan-key

옵션 설명:

  • -t rsa : RSA 알고리즘 사용
  • -b 4096 : 키 길이 4096비트
  • -C "" : 주석 없음
  • -m PEM : PEM 형식으로 저장
  • -N "" : 비밀번호 없이 저장
  • -f chan-key : 파일 이름 지정 (chan-key, chan-key.pub 생성됨)

생성된 파일을 확인해보면 다음과 같습니다.

ls -al
-rw-------@  1 chan  staff   3243  6 10 17:12 chan         // private key
-rw-r--r--@  1 chan  staff    726  6 10 17:12 chan.pub     // public key

 

Private Key 변환 (JSON 문자열 형태로)

Secrets Manager에 문자열로 등록하려면 \\n 이 포함된 하나의 문자열 형태로 변환해야 합니다. 이를 위해 jq 명령어를 사용합니다.

jq -sR . ~/.ssh/chan-key

 

출력 예시:

"-----BEGIN RSA PRIVATE KEY-----\\nMxxxxxxxxxxxxxxxxxxD\\nRH7c/Nxxxxxxxxxxxx=\\n-----END RSA PRIVATE KEY-----\\n"

이제 위에 출력된 문자열을 복사해 Secrets Manager에 등록할 준비가 완료되었습니다.

 

AWS Secrets Manager에 SSH Private Key 등록

1. AWS 콘솔 접속 → Secrets Manager로 이동

 

2. "Store a new secret" 클릭


3. secret 유형 선택: 기타 유형 (기타 유형의 보안 자격 증명)

4. key/value pairs 입력:

key value
Username chan
PrivateKey - Key부분에 PrivateKey 입력 후 Plaintext 탭 이동
- jq명령어로 변환한 private key 문자열 입력

- "PrivateKey":"[문자열 입력]" ← 세미콜론 사이 문자열 입력

 

 

5. 이름 지정: 예) chan_secret

 

6. 저장
Configure rotation은 Next → 저장

 

이제 SSH private key를 안전하게 AWS Secrets Manager에 저장했습니다. 이후 필요할 때 프로그래밍적으로 접근하여 사용할 수 있으며, 키 파일을 로컬에 두는 위험을 줄일 수 있습니다.