[SSH] WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

TL;DR

이미 맥에 원격 호스트 정보를 등록했는데 등록한 정보(ED25519 key)가 변경된 경우 요 에러가 발생

데브옵스 팀원님께서 SSH계의 https 경고 느낌이라고 하심

/(.ssh)/known_hosts
위의 파일에서 경고가 발생한 서버 정보를 삭제한 후 다시 접속을 진행하면 됨

주저리

2023년을 맞아 블로그 관리를 열심히 하려 했으나 상반기를 메이플과 함께 삭제 시킨 인피덕

하지만…. 하반기는…. 다르다….! 라고 다짐을 해본다,, ㅎㅎ,,

접속 이슈?

여튼 이번에 메인넷 접근 권한을 새로 받아서 배포를 위해 접속하려 했으나

에러가 뜨면서 접속이 안 되는 것임

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 /(.ssh)/known_hosts to get rid of this message.
Offending ED25519 key in /(.ssh)/known_hosts:51
Host key for (서버 IP) has changed and you have requested strict checking.
Host key verification failed.

살려줭

근데 에러 중에

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!

이게 있어서 뭐지? 나 해킹 당했나? 라는 오만가지 생각이 들어 (인프피 특: 언제나 호들갑 상상중)

쭈구리 모드로 데브옵스 짱짱 팀원님께 여쭤봤다 (…) (이해를 위해 약간의 각색 첨가)

내부망은?

인피덕: 안녕하세요 내부망 접속 권한 주셨다고 해서 시도해 봤는데 연결이 안되네요 살려주세요
데봅스 짱짱님: 어디보자 님 내부망에 연결된 건 맞음?

내 살려달라는 외침에 제일 먼저 확인하셨던 건 내부망에 연결되어있는가 였다.

서버에 접속 하려면 회사 내부망 와이파이에 연결된 상태여야만 가능했으므로 그러셨던 것

나는 이미 회사 내부망에 연결된 상태였으므로 PASS

키 등록은?

인피덕: ㅇㅇ 내부망 맞음 T______________T
데봅스 짱짱님: 음 어제 알려주신 대로 등록은 다 한 상태인데

혹시나 해서 다른 펍키를 알려드렸나 싶어 확인해 봤지만 내 펍키와 전달 드린 게 완전 동일해서 PASS

나 말고 다른 팀원들은 모두 접속이 가능했고 나만 이슈가 있던 거라 등록 여부 문제도 PASS

외않되?

그러면 대체 무슨 문제란 거냐! 하고 있던 찰나

데봅스 짱짱님: 그러면 터미널에 ssh -v (인피덕)@(서버 IP) 해보시고 나오는 거 전달 ㄱ
인피덕: OK 접수

고분고분 말 잘 듣는 인피덕

그대로 따라했더니 출력 로그가 쭉쭉 나와버림

여기서 잠깐! ssh -v 명령어는 뭘까?

디버깅 모드를 활성화 시키는 명령어 (와! 정말 유용하다!)

Aㅏ!

데브옵스 팀원님께 로그를 전달드렸더니 0.1초만에 답변이 왔음

데봅스 짱짱님: 아 서버가 한번 달라져서 그런듯 ㅇㅇ
인피덕: (?!?!)
데봅스 짱짱님: 로그를 보니 님 이미 운영 접속 기록 있던 거 같은데 그 이후로 값이 변경되서 그럼
데봅스 짱짱님: SSH의 https 경고창이 떴다고 보면 이해 쏙쏙 ㅇㅋ?
데봅스 짱짱님: /(.ssh)/known_hosts 파일 51번째 줄 지우고 다시 ㄱ
인피덕: 들숨에 월급 날숨에 보너스 받으시옵소서

바로 해결 완료

알쓸신잡 (알아두면 쓸데있는 신비한 잡학사전) with 데봅스

known_hosts 파일의 역할

SSH도 인증서처럼 각 서버를 신뢰한다고 등록해줘야 함

이렇게 등록한 호스트의 정보를 저장하고 있는 파일이 바로 known_hosts

이번 에러 발생 이유

서버에 초기 접속 시 서버 목록(known_hosts 파일)에 저장하겠냐는 yes/no 여부를 물어봄

여기서 yes를 선택하고 저장한 이후, 서버에 접속하려고 할 때 이 정보와 서버에서 내려주는 값이 다르면 현재와 같은 에러가 발생하는 것

결론

known_hosts 파일에서 잘못된 서버 정보를 삭제한 후 다시 접속 시도하면 잘 됨

또 다른 결론

찾아보니 다른 해결 방안도 있더라

  • ssh-keygen -R (서버 IP)

    • known_hosts 파일 내용을 갱신
  • rm /(.ssh)/known_hosts

    • known_hosts 파일을 삭제

참고

이 글의 저작권은 Attribution-NonCommercial 4.0 International 라이센스를 따릅니다. Attribution-NonCommercial 4.0 International