2025. 5. 9. 13:21ㆍTrouble Shootings/Infrastructure
문제가 발생한 이유
이전에 동일한 IP 주소를 사용했던 다른 EC2 서버에 같은 호스트 키 정보로 SSH 연결을 시도했기 때문에, 다음과 같은 오류 메시지가 발생한 것이었습니다.
Please contact your system administrator.
Add correct host key in [경로]/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in [경로]/.ssh/known_hosts:18
Host key for [접속한 IP 주소] has changed and you have requested strict checking.
Host key verification failed.
EC2 인스턴스에 처음으로 SSH 연결을 성공하면, SSH 클라이언트는 해당 서버의 호스트 키를 사용자의 로컬 컴퓨터에 있는 ~/.ssh/known_hosts (Linux/macOS)
또는 C:\Users\<사용자명>\.ssh\known_hosts (Windows)
파일에 기록해 둡니다. 이 기록은 해당 서버의 신원을 확인하는 데 사용됩니다.
같은 IP 주소를 가지는 새로운 EC2 인스턴스에 접속하려고 하면, 이 새로운 인스턴스는 이전 인스턴스와 다른 호스트 키를 가집니다. SSH 클라이언트는 known_hosts
파일에 저장된 이전 인스턴스의 호스트 키와 현재 접속하려는 새로운 인스턴스의 호스트 키를 비교하게 되는데, 이 둘이 달랐기 때문에 "Host key verification failed" 오류가 발생한 것입니다.
known_hosts
파일은 이전에 신뢰했던 서버들의 호스트 키 목록을 보관하는 역할을 합니다. 호스트 키가 예기치 않게 변경되는 것은 중간자 공격의 징후일 수 있기 때문에, SSH 클라이언트는 이를 감지하고 사용자에게 경고하는 것입니다.
해결 방법
%USERPROFILE%\.ssh\
를 Windows 탐색기 주소창에 쳐서 들어갑니다.known_hosts
파일을 우클릭하여 연결 프로그램에서 적절한 도구를 선택해 파일을 엽니다. (코드 라인 수가 나오는 Visual Studio Code 같은 걸로 여는 게 편합니다.)- 오류 메시지에서 말한 코드 라인 수 (또는 접속하려고 했던 IP를
Ctrl + F
와 같은 검색 도구를 통해 찾기)를 제거하고, 저장합니다. - 다시 SSH 연결을 시도합니다.
'Trouble Shootings > Infrastructure' 카테고리의 다른 글
[AWS EC2] Insufficient capacity 문제 (0) | 2025.05.11 |
---|---|
[Docker] Image 중첩을 통해, 빌드 시간 단축하기 (0) | 2025.03.30 |
[Jenkins] 역방향 프록시 설정이 잘못되었습니다. (0) | 2025.03.22 |
[Jenkins, Docker] docker.sock: connect: permission denied (0) | 2025.03.18 |
[Jenkins] ERROR: Error fetching remote repo 'origin' (권한 문제) (0) | 2025.03.18 |