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
'리눅스' 카테고리의 다른 글
Ubuntu LTS(Long Term Support) releases cycle (0) | 2015.03.17 |
---|---|
apt-get 명령어 (0) | 2015.03.10 |
[리눅스] ubuntu rcconf(redhat:ntsysv) 명령어 (0) | 2015.03.09 |
우분투에서 DNS 서버를 정적으로 설정하는 방법 (1) | 2015.03.09 |
kill 명령어 (0) | 2015.03.03 |