ssh 원격 접속 시 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 오류가 뜹니다.
vm 을 지우고 새로 생성하는 것을 반복하다 보니 이 오류 메시지에 아주 익숙해 졌는데요,
간단하게 해결 가능합니다.
해결방법:
ssh-keygen -R your_server_ip_or_hostname
접속하려는 서버 ip 가 127.0.0.1 이라면
ssh-keygen -R 127.0.0.1
그 후에 재접속하면
Are you sure you want to continue connecting (yes/no/[fingerprint])? 이 뜨니
yes 를 입력해 주시면 됩니다.
해결완료 :)
이렇게 간단하게 해결 가능하지만 하도 많이 마주치니 오류 메시지의 원인이 궁금해 졌는데요
경고의 이유는 다양할 수 있지만, 주로 다음과 같은 상황에 발생한다 합니다.
1. 호스트 키가 변경된 경우:
- 호스트 키는 서버의 고유 식별자로 사용되며, 호스트 키가 변경되면 클라이언트는 해당 서버에 대한 신뢰성이 손상되었다고 판단합니다.
- 호스트 키는 일반적으로 `/etc/ssh` 디렉터리에 있는 `ssh_host_*` 파일들로 저장되며, 이 파일들이 변경되면 클라이언트에서 경고가 발생합니다.
2. 서버 재설치 또는 클론:
- 서버가 재설치되거나 클론되면 호스트 키가 변경될 수 있습니다.
- 이 경우에는 이전에 사용되었던 호스트 키와 현재 호스트 키가 다르기 때문에 경고가 발생합니다.
3. Man-in-the-Middle 공격:
- 중간에 위치한 공격자가 네트워크를 통해 데이터를 가로채거나 조작하는 Man-in-the-Middle 공격이 발생한 경우에도 호스트 키가 변경되었을 수 있습니다.
- 이는 보안상의 이유로 클라이언트가 경고를 발생시키게 됩니다.
`ssh-keygen -R your_server_ip_or_hostname` 명령어를 통해 새로운 호스트 키를 신뢰하도록 클라이언트를 업데이트 합니다.
이 명령어는 클라이언트의 `known_hosts` 파일에서 이전의 호스트 키를 제거합니다.
그리고 다시 호스트에 연결하면 새로운 호스트 키를 받아서 `know_hosts` 파일에 저장합니다.
제 경우는 서버를 재설치하여 호스트 키가 변경되었다고 보면 되겠군요 !
이제야 `ssh-keygen -R ip` 를 입력했을 때 나오는 script 가 조금은 이해가 됩니다 :)
'Error' 카테고리의 다른 글
[WSL] Error response from daemon: invalid volume specification: 'D:/mysql/data:/var/lib/mysql:rw' (0) | 2023.12.10 |
---|