예전에는 Windows에서 Linux 서버에 원격으로 연결할 때 보통 PuTTY를 사용했는데, 이제 macOS로 바꾸고 보니 macOS 시스템에 기본으로 포함된 터미널에도 원격 연결 기능이 있어 다른 SSH 클라이언트를 다운로드할 필요가 없다는 것을 알게 되었습니다.
그 후 로스앤젤레스의 한 VPS에 酸酸乳를 설치하던 중 문제가 발생해 시스템을 재설정했습니다. 두 번째로 SSH에 연결했을 때 다음과 같은 오류가 발생했습니다.
$ ssh root@107.174.218.121
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:HDjXJvu0VYXWF+SKMZjSGn4FQmg/+w6eV9ljJvIXpx0.
Please contact your system administrator.
Add correct host key in /Users/ikxin/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/ikxin/.ssh/known_hosts:46
ECDSA host key for 107.174.218.120 has changed and you have requested strict checking.
Host key verification failed.
대략적인 의미는 호스트 키 검증에 실패했으며, 처음 저장한 키와 일치하지 않는다는 것입니다. PuTTY를 사용할 때는 이런 문제가 발생한 적이 없었는데, 아마 두 프로그램의 작동 방식이 서로 다르기 때문일 것입니다. 일반적으로 이 문제는 시스템을 재설정했을 때 발생합니다. 시스템을 재설정하면 키가 새로 생성되기 때문에 서로 일치하지 않게 됩니다.
문제를 해결하는 방법은 간단하며, ssh-keygen을 사용하면 됩니다.
터미널에 다음을 입력합니다.
ssh-keygen -R 你要访问的 IP 地址
이렇게 하면 해당 IP의 일치 키를 재설정할 수 있으며, 기존 키는 known_hosts.old 파일에 저장됩니다.