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에 저장했습니다. 이후 필요할 때 프로그래밍적으로 접근하여 사용할 수 있으며, 키 파일을 로컬에 두는 위험을 줄일 수 있습니다.
'AWS' 카테고리의 다른 글
| [AWS] AWS CLI 설정하기 (SSO Login 방식) (0) | 2025.07.13 |
|---|---|
| [AWS] IDC/AWS Site-to-Site VPN 구성하기 (with BGP, Active-Active) (2) (0) | 2025.03.10 |
| [AWS] IDC/AWS Site-to-Site VPN 구성하기 (with BGP, Active-Active) (1) (0) | 2025.03.05 |
| [AWS][EC2] 클라우드 컴퓨팅으로 게임하기 (2) | 2024.02.22 |
| [AWS][VPC] Traffic Mirroring으로 패킷 확인하기 (0) | 2024.01.25 |