본문 바로가기

IT & 개발/Linux

[SSH] 접속 오류 해결: “REMOTE HOST IDENTIFICATION HAS CHANGED!” 메시지가 떴을 때

반응형

서버에 SSH 접속을 시도했는데 아래처럼 무시무시한 경고 메시지를 본 적 있으신가요?

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
...
Host key verification failed.

처음 보는 분들은 해킹인가? 싶은 생각이 드실 수도 있습니다. 이 글에서는 이 경고 메시지가 왜 뜨는지, 실제로 위험한 상황인지, 그리고 어떻게 해결하면 되는지를 정리해드립니다.


🧭 왜 이런 오류가 뜨는 걸까?

SSH는 보안을 위해 서버의 호스트 키(fingerprint) 를 사용자의 컴퓨터에 저장해 둡니다. 이후 동일한 서버에 다시 접속할 때, 이 키를 비교해서 서버가 바뀌지 않았는지 확인하는 거예요.

그런데…

  • 서버를 재설치하거나
  • 같은 IP를 가진 다른 서버로 바뀌었거나
  • 또는 누군가 중간에 가로채려는 시도(MITM 공격) 가 있다면

이전과 다른 호스트 키가 감지되어 경고를 띄우는 것이죠.


✅ 해결 방법 (안전하다고 확신할 경우)

1) 명령어로 해결 (간편)

ssh-keygen -R 서버-IP

예를 들어, 아래처럼 입력합니다:

ssh-keygen -R 11.122.133.133

이 명령은 ~/.ssh/known_hosts 또는 C:\Users\사용자이름\.ssh\known_hosts 파일에서 해당 서버에 저장된 이전 키 정보를 삭제해 줍니다.

2) 직접 파일 열어서 삭제

  1. C:\Users\사용자이름\.ssh\known_hosts 파일을 메모장 등으로 엽니다.
  2. 경고 메시지에 표시된 줄 번호(예: 47번째 줄)를 삭제합니다.
  3. 저장하고 다시 접속 시도하면 됩니다.

⚠️ 정말 해킹일 수도 있나요?

드물긴 하지만 MITM(Man-in-the-middle) 공격 가능성도 완전히 배제할 수 없습니다. 특히,

  • 클라우드 서버를 공유하거나,
  • 공용 네트워크를 사용하거나,
  • 도메인이 다른 서버로 연결될 수 있는 경우

는 조심해야 합니다.

서버에 신뢰할 수 있는 관리자가 있다면, ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub 명령어로 호스트 키 지문을 확인하고 여러분이 받은 fingerprint와 비교해 보세요.


🔚 마무리하며

대부분의 경우 이 오류는 서버를 초기화하거나 재설정한 경우에 발생하는 harmless한 현상입니다. 위의 방법대로 차분히 해결하시면 다시 정상적으로 접속하실 수 있어요.

 

반응형