반응형

터미널을 통해 SSH 접속 시 "Host key verification failed" 오류가 발생하는 이유는 클라이언트가 접속하려는 서버의 호스트 키를 검증할 수 없기 때문입니다. 

터미널에 아래와 같은 메시지가 보여지게 됩니다.

ssh -i rsa_4096 id@127.0.0.4

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:
Please contact your system administrator.
Add correct host key in /Users/hajinho/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/hajinho/.ssh/known_hosts:26
Host key for 127.0.0.4 has changed and you have requested strict checking.
Host key verification failed.

 

 

이 오류는 여러 가지 이유로 발생할 수 있습니다. 다음은 그 이유와 해결 방법입니다.

1. 서버의 호스트 키가 변경된 경우

서버의 호스트 키가 변경되면 클라이언트의 ~/.ssh/known_hosts 파일에 저장된 키와 일치하지 않기 때문에 오류가 발생합니다. 서버가 재설치되거나 SSH 설정이 변경되면 호스트 키가 변경될 수 있습니다.

해결 방법: 기존의 호스트 키를 삭제하고 새로운 호스트 키를 추가합니다.

ssh-keygen -R [hostname or IP address] 
ssh [hostname or IP address]

2. 서버의 IP 주소가 변경된 경우

서버의 IP 주소가 변경되었지만 호스트 이름은 변경되지 않은 경우에도 호스트 키 검증 오류가 발생할 수 있습니다. 클라이언트는 호스트 이름과 연결된 이전 IP 주소의 호스트 키를 기억하고 있기 때문입니다.

해결 방법: ~/.ssh/known_hosts 파일에서 해당 서버의 이전 엔트리를 삭제합니다.

ssh-keygen -R [hostname] 
ssh [hostname]

3. Man-in-the-Middle 공격 가능성

호스트 키 검증은 Man-in-the-Middle (MITM) 공격을 방지하기 위해 사용됩니다. 호스트 키가 예상치 않게 변경되었을 때 이 오류가 발생하면 MITM 공격의 가능성을 의심해봐야 합니다.

해결 방법: 서버 관리자에게 문의하여 호스트 키가 변경된 것이 정상인지 확인합니다. 변경이 정상적이라면 새로운 호스트 키를 수동으로 추가합니다.

4. 클라이언트의 ~/.ssh/known_hosts 파일이 손상된 경우

클라이언트의 ~/.ssh/known_hosts 파일이 손상되었거나 잘못된 형식으로 인해 호스트 키를 검증할 수 없는 경우에도 이 오류가 발생할 수 있습니다.

해결 방법: ~/.ssh/known_hosts 파일을 확인하고 문제가 있는 부분을 수정하거나 필요한 경우 파일을 삭제한 후 다시 서버에 접속하여 호스트 키를 추가합니다.

rm ~/.ssh/known_hosts 
ssh [hostname or IP address]

 

 

위의 방법 중 하나를 통해 "Host key verification failed" 오류를 해결할 수 있습니다.

728x90
반응형

+ Recent posts