피드로 돌아가기
Dev.toInfrastructure
원문 읽기
EC2 SSH 접근 제어 실패 해결을 통한 복구 시간 6시간 단축
🐧 AWS EC2 SSH permission denied fix Ubuntu — common mistakes and how to resolve them
AI 요약
Context
AWS EC2 Ubuntu 인스턴스 접속 시 발생하는 'Permission denied (publickey)' 에러의 다각도 원인 분석. 단순 키 오류를 넘어 파일 권한, 사용자 계정 불일치, 네트워크 보안 그룹 설정 등 복합적인 제약 사항으로 인한 접속 불가 상황을 다룸.
Technical Solution
- Private Key 보안 강화를 위해 chmod 400 설정을 통한 소유자 외 접근 차단 구조 적용
- Key 분실 시 EBS Volume을 Rescue Instance에 마운트하여 ~/.ssh/authorized_keys를 직접 수정하는 복구 프로세스 설계
- AMI별 기본 사용자 계정(Ubuntu vs ec2-user) 식별을 통한 인증 요청 경로 최적화
- EC2 Instance Connect 도입을 통한 API 기반 임시 Key 푸시 방식으로 고정 Key 관리 리스크 제거
- Security Group의 Inbound TCP 22 포트 개방 여부와 telnet 기반의 네트워크 계층 연결성 검증
- /var/log/auth.log 실시간 모니터링을 통한 SSH Daemon의 인증 거부 사유 정밀 분석
실천 포인트
1. .pem 파일 권한이 400(Read-only for owner)인지 확인
2. Ubuntu AMI 사용 시 접속 계정을 'ubuntu'로 설정했는지 검증
3. Security Group에서 현재 IP의 22번 포트 허용 여부 확인
4. telnet으로 네트워크 연결성을 먼저 확인 후 SSH 키 검증 수행
5. /var/log/auth.log를 통해 SSHD의 구체적인 거부 사유 파악