SSH 접속 문제 해결 과정 (2024년 12월)
문제 개요
- 발생일: 2024년 12월
- 환경: Windows 10 → AWS EC2 (Ubuntu 22.04.5 LTS)
- 목표: MLOps 컨테이너 접속을 위한 SSH 연결 구축
- 최종 결과: ✅ 성공적으로 해결
시도한 해결 방법들
1️⃣ 첫 번째 시도: 기본 SSH 접속
ssh -i mlops-zoomcamp-key.pem ubuntu@13.124.226.4결과: Load key "mlops-zoomcamp-key.pem": Permission denied
2️⃣ 두 번째 시도: 파일 권한 수정
icacls mlops-zoomcamp-key.pem /inheritance:r
icacls mlops-zoomcamp-key.pem /grant:r "$env:USERNAME:(R)"결과: 권한 설정 오류 발생
3️⃣ 세 번째 시도: 관리자 권한으로 실행
- Windows PowerShell(관리자) 실행
- 동일한 권한 설정 명령어 실행 결과: 여전히 권한 문제 지속
4️⃣ 네 번째 시도: 파일 소유권 변경
takeown /f mlops-zoomcamp-key.pem
icacls mlops-zoomcamp-key.pem /reset결과: Load key: invalid format 오류로 변경
5️⃣ 다섯 번째 시도: 키 파일 형식 확인
type mlops-zoomcamp-key.pem발견: 키 파일이 불완전하게 복사됨 (내용 잘림)
6️⃣ 여섯 번째 시도: PuTTY 사용 검토
- PuTTYgen으로 .pem → .ppk 변환 시도
- PuTTY를 통한 접속 계획 결과: Windows 환경에서 복잡성 증가
7️⃣ 일곱 번째 시도: 새 키 파일 준비
- 올바른 키 파일 (
mlops-zoomcamp-key) 확보 - 확장자 없는 파일로 준비 결과: ✅ 성공!
최종 해결 방법
🎯 성공한 명령어
ssh -i .\mlops-zoomcamp-key ubuntu@13.124.226.4📋 성공 요인 분석
- 올바른 키 파일: 완전하고 손상되지 않은 SSH 키
- 적절한 파일명: 확장자 문제 해결
- 권한 설정: Windows에서의 적절한 파일 권한
- 경로 지정: 상대 경로 (
.\) 사용
학습한 교훈
❌ 실패 원인들
- 파일 손상: 복사 과정에서 키 파일 내용 손실
- 권한 복잡성: Windows SSH 키 권한 설정의 복잡성
- 파일 형식: .pem vs 키 파일 확장자 문제
- 경로 문제: 절대 경로 vs 상대 경로
✅ 성공 요소들
- 체계적 접근: 단계별로 문제 원인 분석
- 다양한 시도: 여러 해결 방법 검토
- 환경 이해: Windows ↔ Linux 환경 차이점 학습
- 최종 검증: 올바른 키 파일 확보 후 재시도
기술적 세부사항
Windows SSH 키 권한 설정
# 파일 소유권 가져오기
takeown /f key-file.pem
# 권한 초기화
icacls key-file.pem /reset
# 상속 권한 제거
icacls key-file.pem /inheritance:r키 파일 형식 확인
# 파일 내용 확인
type key-file.pem | Select-Object -First 5
# 파일 크기 확인
Get-ChildItem key-file.pem | Select-Object Name, Length연결 테스트
# verbose 모드로 디버깅
ssh -v -i .\key-file ubuntu@server-ip
# 연결 후 명령어 실행 테스트
ssh -i .\key-file ubuntu@server-ip "whoami"문제 해결 체크리스트
🔍 진단 단계
- SSH 키 파일 존재 확인
- 파일 권한 상태 확인
- 키 파일 내용 완전성 확인
- 대상 서버 접근성 확인
- 네트워크 연결 상태 확인
🛠️ 해결 단계
- 파일 소유권 확보
- 권한 초기화 및 재설정
- 키 파일 형식 검증
- 다양한 접속 방법 시도
- 최종 연결 테스트
향후 예방 방안
📚 문서화
- 성공한 명령어 보관: 향후 참조용
- 문제 해결 과정 기록: 유사 문제 대비
- 환경별 차이점 정리: Windows/Linux 차이점
🔧 도구 준비
- PuTTY 설치: 대체 접속 방법 확보
- WSL 활용: Linux 호환 환경 구축
- 키 파일 백업: 안전한 위치에 보관
🎯 베스트 프랙티스
- 단계별 접근: 한 번에 하나씩 문제 해결
- 로그 확인: verbose 모드 활용
- 다중 방법: 여러 접속 방법 숙지
- 정기 점검: SSH 연결 상태 정기 확인
결론
Windows 환경에서 AWS EC2 SSH 접속은 Linux 환경에 비해 복잡하지만, 체계적인 접근과 올바른 키 파일 관리를 통해 해결 가능합니다. 이번 경험을 통해 얻은 지식은 향후 유사한 문제 해결에 큰 도움이 될 것입니다.
이 문서는 실제 문제 해결 과정을 기록한 아카이브입니다. 향후 참조 및 교육 목적으로 활용됩니다.