728x90
1. SSH 키와 퍼미션 확인
1-1. 올바른 프라이빗 키 사용 확인
- SSH를 통해 EC2 인스턴스에 연결할 때 사용하는 **프라이빗 키 파일 (.pem)**이 올바른지 확인하세요.
- EC2 인스턴스가 생성될 때 다운로드한 키 페어를 사용해야 합니다.
- ssh -i /path/to/key.pem ec2-user@<인스턴스-공인-IP> 형태로 명령어를 실행하고 있는지 확인하세요.
1-2. 프라이빗 키의 권한 설정
- 키 파일은 엄격한 권한 설정을 요구합니다. 아래 명령어로 권한을 수정하세요:
-
코드 복사chmod 400 /path/to/key.pem
- bash
1-3. 키 페어 재확인
- AWS Management Console에서 EC2 > 인스턴스 > 설정 > 인스턴스 세부 정보로 이동합니다.
- Key Pair Name 항목을 확인하여 사용 중인 키 페어와 맞는지 확인합니다.
2. 퍼블릭 키가 EC2에 등록되었는지 확인
2-1. 퍼블릭 키 파일 확인
- EC2는 ~/.ssh/authorized_keys 파일에 등록된 퍼블릭 키를 사용하여 SSH 인증을 처리합니다.
- EC2 인스턴스에 접근할 수 있다면, 다음 명령어로 해당 키가 등록되었는지 확인하세요:
bash코드 복사cat ~/.ssh/authorized_keys
2-2. 퍼블릭 키 등록
- 로컬에서 퍼블릭 키를 생성(또는 기존 퍼블릭 키 사용)하여 EC2의 authorized_keys에 추가해야 합니다.
- 기존 키를 새로 등록하려면 다음과 같이 퍼블릭 키를 복사합니다:
bash코드 복사ssh-copy-id -i /path/to/key.pub ec2-user@<인스턴스-공인-IP>
3. 비상 액세스 방법
SSH 키 문제가 해결되지 않아 EC2에 접속할 수 없다면, 다른 방법으로 액세스해야 합니다.
3-1. EC2에 대한 사용자 데이터 스크립트 실행
- EC2의 "사용자 데이터"를 활용하여 SSH 키를 복구할 수 있습니다.
- AWS Management Console에서 해당 인스턴스를 선택합니다.
- 작업 > 인스턴스 설정 > 사용자 데이터 추가/수정으로 이동합니다.
- 아래 스크립트를 입력하여 퍼블릭 키를 복구합니다:여기서 your-public-key는 로컬에서 생성한 퍼블릭 키입니다.
-
bash코드 복사#!/bin/bash echo "your-public-key" >> /home/ec2-user/.ssh/authorized_keys chmod 600 /home/ec2-user/.ssh/authorized_keys
- 인스턴스를 재부팅하고 다시 연결을 시도합니다.
3-2. 기존 EBS 볼륨 마운트
- 문제가 지속된다면, EBS 볼륨을 다른 인스턴스에 연결하여 키 파일을 직접 수정할 수 있습니다:
- EC2 인스턴스를 중지합니다.
- EBS 볼륨을 분리한 후 다른 EC2 인스턴스에 연결합니다.
- 다른 인스턴스에서 EBS를 마운트하고 ~/.ssh/authorized_keys 파일을 수정합니다.
- 수정이 완료되면 EBS를 원래 인스턴스에 다시 연결합니다.
4. 기타 확인 사항
4-1. 보안 그룹 설정 확인
- SSH 접속이 차단되지 않았는지 확인하세요:
- 보안 그룹 > 인바운드 규칙에서 SSH 포트(기본값: 22)가 열려 있는지 확인합니다.
- 소스는 접속하려는 클라이언트 IP 또는 0.0.0.0/0 (모든 IP 허용)으로 설정해야 합니다.
4-2. 퍼미션 문제 확인
- 홈 디렉토리 및 .ssh 디렉토리의 권한이 올바르게 설정되어 있는지 확인하세요:
bash코드 복사chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
마무리
위 단계를 따라 설정을 확인하고, 키를 복구하거나 교체하여 SSH 접속 문제를 해결할 수 있습니다. 키 문제를 완전히 해결한 후에는 키 페어를 안전하게 백업하고, 보안을 강화하기 위해 불필요한 포트나 IP 접근을 차단하세요.
728x90
'☁️ 클라우드 & 서버' 카테고리의 다른 글
클라우드 서비스란 무엇인가? 종류별 장단점 알아보기 (1) | 2024.11.25 |
---|---|
EC2인스턴트 .ppk파일을 .pem 파일로 변환하기 (0) | 2024.11.25 |
윈도우에서 putty를 이용한 터널링 설정 방법 (2) | 2024.11.25 |
RDS란 무엇일까? AWS 관계형 데이터베이스 서비스 알아보기 (1) | 2024.11.25 |
AWS의 MySQL Free Tier RDS시작하기: 쉽고 간단한 가이드 (0) | 2024.11.25 |