EC2 인스턴스 접속 및 키 페어(Key Pair)
Key Pair
EC2 인스턴스에 접근하기 위한 공개키-개인키의 인증 방식
ID/비밀번호 인증보다 더 안전(하지만, 분실의 위험이 있고 외울 수 없다는 단점)
* 인스턴스에서 패스워드 인증을 기본적으로 비활성화해 놓음( /etc/ssh/sshd_config에서 확인)
키 페어 활용
리눅스 서버에 접속하면,
공개키는 metadata를 통해서 접근 가능하며
서버의 ~/.ssh/authorized_keys 에 삽입됨
사용자는 개인키를 사용하여 서버에 SSH 접속 가능
서버별 키페어 생성
키 페어 하나로 Window 서버를 다수 생성하는 경우, 각 인스턴스 ID와 ppk가 조합되면서
각 인스턴스별로 password가 다르게 생성
키 페어 하나로 Linux 서버를 다수 생성하는 경우,
공개키가 모두 동일한 상태의 인스턴스들이 생성
서버의 용도나 부서 별로 키페어를 다르게 하여 서버 그룹을 생성하는 것이 좋음
키 페어 보안
AWS 사이드에서는 공개키만 보관하고, 인스턴스 생성 시 공개키를 내부로 복사
개인키(PPK)는 사용자가 안전하게 보관 및 관리: PPK 매우 중요
AWS 쪽에서는 개인키가 아닌 공개키 복사본만 가지고 있다고 하지만,
키 페어 관리에 있어서 보안 강도를 더 높이기 위해서 사용자가 직접 키를 생성하는 방법이 있다.
1. putty gen 과 같은 프로그램을 통해 Key생성(Generate & Key Commnet 작성)
2. Key에 대한 보안 설정(옵션): 키를 누가 복사해가도 마음대로 사용할 수 없게 passphrase 작성
3. Public Key 와 Private Key 저장
4. AWS Console > EC2 > Key Pairs > Actions-Impory Key Pair : 사용자 생성한 키 페어를 aws에 업로드
또는 다음과 같이 키페어와 Password 방식을 혼용하여 보안적인 문제를 예방 가능
윈도우 서버의 경우, AWS 콘솔에서 초기 접속 패스워드 생성시에만 키페어가 필요하다.
서버에 접속한 다음 패스워드를 변경하게 되면 ppk는 필요하지 않음.
하지만 복구할 때 필요할 수 있으므로 보관하는 것이 정신건강에 좋음
키 페어 복구
키 페어가 디스크에 저장된다는 점을 활용하여
볼륨 교체를 통한 키 페어 복구 가능
키 페어를 분실한 서버에 재접속하는 방법은 다음과 같다.
*Target EC2: 접속하고자 하는 EC2
**Repair EC2: 키 페어 복구용 EC2
1. Target EC2 중지(삭제 아님)
2. Target EC2에 Attach 되어 있던 볼륨을 Detach
3. Repair EC2 생성하여 방금 Detach한 볼륨을 Attach
(이때, /dev/sdf 장치에 붙여도 symbolic link로 인해 서버 상에서는 /xvdf1에서 확인 가능)
4. Repair EC2에 접속하여 새로 생성한 마운트 포인터(예: /mount)에 Attach된 볼륨을 마운트 후 재부팅
(이때, 재부팅 후에도 마운트 상태가 유지될 수 있게 fstab 파일 수정도 필요)
5. Repair EC2의 마운트 포인터 디렉토리 하(/mount/home/ec2-user/.ssh)에 해당 서버의 /.ssh/authorized_keys 을 복사
(이때 해당 디렉토리 안에 들어있던 기존[잃어버린] key의 공개키 파일명은 미리 바꾸어두어 충돌 예방)
6. 기존 공개키 파일의 권한과 똑같이 설정: chown ec2-user:ec2-user authorized_keys
7. 해당 디렉토리에서 빠져나온 다음, 마운트 포인터 디렉토리를 umount
8. Repair EC2에 붙혔던 볼륨(새로운 공개키 파일을 담고 있는)을 Detach
9. Target EC2에 다시 해당 볼륨을 Attach (이때 /dev/xvda에 붙여서 해당 디스크를 root Volume으로 설정)
'자기발전소 > # AWS' 카테고리의 다른 글
AWS 공부 : EC2 #2 (0) | 2021.01.02 |
---|---|
AWS 공부 : Bootstrap (0) | 2020.12.22 |
AWS 공부 : EC2 (0) | 2020.11.30 |
[AWS 웨비나 기록] EKS : 관리형 쿠버네티스 서비스 (0) | 2020.11.26 |
AWS 공부 : Public IP / Private IP / Elastic IP (0) | 2020.11.15 |