[Linux] 원격 호스트 신원이 변경되었음을 경고하는 메시지의 조치 방법

SSH 프로토콜을 기반으로 실행되던 ssh, scp, sftp 등의 명령어들이 어느 날 갑자기 아래와 같은 메세지(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)가 출력되면서 실행되지 않을 때가 있습니다. 아래 예제는 known_hosts 파일의 일곱 번째 줄에 등록된 호스트 키에 문제가 있다는 내용입니다.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 ECDSA key sent by the remote host is
SHA256:UQ9EBP44E7VPLJ8eV85Hyysm3EwSbBcph0NhLA0OOBU.
Please contact your system administrator.
Add correct host key in /home/oracle/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/oracle/.ssh/known_hosts:7
ECDSA host key for 192.168.56.101 has changed and you have requested strict checking.
Host key verification failed.
lost connection

먼저 조치 방법을 알려 드리면, ssh-keygen -R 192.168.56.101 명령어를 실행하고 재접속하면 아래와 같이 정상적으로 진행됩니다.

The authenticity of host '192.168.56.101 (192.168.56.101)' can't be established.
ECDSA key fingerprint is SHA256:UQ9EBP44E7VPLJ8eV85Hyysm3EwSbBcph0NhLA0OOBU.
ECDSA key fingerprint is MD5:c2:ac:e4:c1:9d:aa:1e:9c:41:0a:07:fd:54:4e:c3:53.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.56.101' (ECDSA) to the list of known hosts.
username@192.168.56.101's password: 

“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!” 메세지는 원격 호스트가 재설치되거나 SSH를 재구성했을 때 발생하며, 아래와 같은 과정으로 메시지가 발생합니다.

  1. 클라이언트는 원격 서버에 처음 접속할 때 서버의 호스트 키를 받아 ~/.ssh/known_hosts 파일에 저장합니다.
  2. 이후 동일한 서버에 접속할 때 클라이언트는 서버가 제공하는 호스트 키와 known_hosts 파일에 저장된 키를 비교합니다.
  3. 호스트 키가 일치하지 않으면, 클라이언트는 보안 위협을 경고하는 메시지를 출력합니다. 이 메시지는 중간자 공격(man-in-the-middle attack) 가능성을 경고하는 역할도 합니다.

참고로 known_hosts 파일에 저장되는 호스트 키는 사용자가 액세스하는 호스트의 공개 키입니다. SSH의 키 기반 인증으로 원격 접속과 파일 전송 글을 보시면 호스트 키가 작동하는 원리를 확인하실 수 있습니다.

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다