본문 바로가기

리눅스

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

반응형

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 클라이언트가 이전에 접속한 서버의 호스트 키가 변경되었음을 감지했을 때 발생합니다. 이런 경우, 다음과 같은 절차를 따라 문제를 해결할 수 있습니다.

 

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
반응형