Troubleshooting

ssh 접속 오류(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)

ride-dev 2023. 9. 6. 18:48

최근 AWS EC2(새로운 pem)를 재생성하고 ssh 접속을 시도했지만 오류가 발생했습니다.

ssh service   // config 파일설정을 통해 코드를 축약하여 접근할 수 있게 했습니다

이로 인해 EC2에 접근할 수 없었습니다.

1. 오류가 발생하는 이유

ssh 클라이언트는 중간자 공격을 방지하기 위해 서버에 처음 연결할 때의 정보(ip, 암호화 유형 ,pem)를 저장하고,

현재의 연결 정보(ip, 암호화 유형 ,pem)와 비교하고 차이가 있으면 접근을 막습니다.

중간자 공격은 누군가로부터 ip를 탈취하고 중간에서 트래픽을 감시하고 수집하는 것을 말합니다.

 

2. 오류 내용

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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:RFrHBuTu+JuOjD7R0/HBG8WFt/0CXO4DDMS61r56JKQ.
Please contact your system administrator.
Add correct host key in /Users/my/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /Users/my/.ssh/known_hosts:11
Host key for 52.78.52.112 has changed and you have requested strict checking.
Host key verification failed.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 경고: 원격 호스트 ID가 변경되었습니다! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
누군가가 뭔가 비열한 짓을 하고 있을 수도 있어요!
누군가가 지금 당신을 엿듣고 있을지도 몰라요 (중간자 공격)!
호스트 키가 방금 변경되었을 수도 있습니다.
원격 호스트에서 전송한 ED25519 키의 지문은
SHA256 : RFRHBuTu+JuOjD7R0/HBG8WFT/0CXO4DDMS61r56JKQ.
시스템 관리자에게 문의하십시오.
/Users/my/.ssh/known_hosts에 올바른 호스트 키를 추가하여 이 메시지를 제거합니다.
/Users/my/.ssh/known_hosts의 ED25519 키를 공격하는 중:11
52.78.52.112의 호스트 키가 변경되어 엄격한 확인을 요청하셨습니다.
호스트 키 확인에 실패했습니다.

동일한 ip의 호스트키(pem)가 변경되어, 설정 파일(known_hosts)에 저장되어 있던 11열의 정보와 충돌이 발생했습니다.

aws ec2를 이용할 때,

탄력적ip는 변경하지 않고,

새로운 ec2를 생성하면서 (ec2 에 접근할 수 있는) pemKey를 새로 생성한다면,

설정파일에 있던 기존 정보(동일한 탄력적 ip & 새로운 ec2에 접근 권한이 없는 pemKey)와 충돌이 발생합니다.

3. 해결책

1. 텍스트 편집기를 사용하여 host 키가 담긴 파일 정보 수정합니다.

탄력적 ip를 동일하게 사용하면서 다른 pem key를 가지고 있는 ec2에 접근하려 할 때 위와 같은 오류가 발생할 수 있습니다.

ip 암호화유형 key 구조가 저장되어 있는 파일(known_hosts)의 정보(문제가 발생한 열의 ip로 시작하는 열)를 삭제해줍니다.

knwon_host 파일 위치

윈도우: %USERPROFILE%\\.ssh 혹은 %USERPROFILE%\\ssh

리눅스, macOS: .ssh/known_hosts

2. ssh-keygen 명령어를 사용하여 잘못된 정보를 삭제합니다.

아래 명령어를 입력하는 것은 경로를 찾아서 삭제하는 것보다 빠르고 보편적인 방법입니다.

ssh-keygen -R "서비스ip"

4. 결과 확인

위 두 방법 중 하나를 사용한 후 서버에 다시 연결하면,

EC2에 접근했을 때 처음 연결했을 때처럼 진행됩니다. 

Warning: Permanently added '52.78.52.112' (ED25519) to the list of known hosts.
경고: 알려진 호스트 목록에 '52.78.52.112'(ED25519)를 영구적으로 추가했습니다.

위와 같은 문구가 출력되면서 ec2에 접근할 수 있습니다.

 

5. 문제 해결에 대한 참고자료

출처: https://bitlaunch.io/blog/fix-warning-remote-host-identification-has-changed/

728x90