본문 바로가기

리눅스

SSH 접속 시 RSA 공개키(ECDSA) 충돌 문제를 해결하는 방법

728x90

SSH 접속 시 RSA 공개키(ECDSA) 충돌 문제를 해결하는 방법

SSH 접속 오류

  • Ubuntu
$ ssh root@10.10.123.213
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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:wtGtrVWNywaFcqbdqbszAIeZRsZGb6B+JNsFA4/Jglw.
Please contact your system administrator.
Add correct host key in /home/user01/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/user01/.ssh/known_hosts:11
  remove with:
  ssh-keygen -f "/home/user01/.ssh/known_hosts" -R "10.10.123.213"
ECDSA host key for 10.10.123.213 has changed and you have requested strict checking.
Host key verification failed.
  • CentOS
$ ssh root@10.10.123.214
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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:OEzwrJej97rmNQ4ZfWuKlCijjrD0ThJ2cu+4HR8TiCA.
Please contact your system administrator.
Add correct host key in /Users/user01/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/user01/.ssh/known_hosts:133
Host key for 10.10.123.214 has changed and you have requested strict checking.
Host key verification failed.

해결 방법

"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" 오류는 SSH 클라이언트가 이전에 접속한 서버의 호스트 키가 변경되었음을 감지했을 때 발생합니다. 이런 경우, 다음과 같은 절차를 따라 문제를 해결할 수 있습니다.

728x90

1. 경고 메시지 이해

경고 메시지는 클라이언트가 이전에 서버에 연결된 적이 있고, 이제 서버의 호스트 키가 변경되었음을 알려줍니다. 이는 보안 문제로 간주되며, 클라이언트가 서버의 신원을 다시 확인해야 함을 의미합니다.

 

2. 기존 호스트 키 삭제

SSH 클라이언트의 known_hosts 파일에서 기존 호스트 키를 삭제해야 합니다. 일반적으로 ~/.ssh/known_hosts 경로에 위치합니다. 해당 파일을 텍스트 에디터로 열고, 이전에 접속한 서버의 호스트 키 라인을 삭제합니다.

 

3. 서버에 다시 접속

호스트 키를 삭제한 후, SSH 클라이언트를 사용하여 서버에 다시 접속합니다. 클라이언트는 이제 서버의 새로운 호스트 키를 받아들이고, 이후 접속 시에는 정상적으로 작동할 것입니다.

 

주의: "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" 경고는 보안적으로 중요한 사항이므로, 호스트 키의 변경이 합법적인 이유가 있는지 확인해야 합니다. 호스트 키가 변경되었을 경우, 이는 서버의 신뢰성에 영향을 미칠 수 있으므로 서버 관리자나 시스템 운영팀과 상의하여 문제를 해결해야 합니다. 만약 자신의 의도와 다른 호스트 키 변경이 의심되는 경우, 보안상의 위험을 감수하지 않고 접속하거나 해당 서버를 더 이상 신뢰하지 않는 것이 좋습니다.

 

  • /home/user01/.ssh/known_hosts 파일 편집
vim /home/user01/.ssh/known_hosts
  • ssh-keygen 명령어를 사용하여 known_hosts 파일에서 특정 호스트 키를 제거
ssh-keygen -f "/home/user01/.ssh/known_hosts" -R "10.10.123.213"
ssh-keygen -R "10.10.123.213"
$ ssh-keygen -f "/home/user01/.ssh/known_hosts" -R "10.10.123.213"
# Host 10.10.123.213 found: line 11
/home/user01/.ssh/known_hosts updated.
Original contents retained as /home/user01/.ssh/known_hosts.old

 

728x90