Host_a는 macOS입니다
Host_b는 우분투입니다
호스트_b는 호스트_a의 알려진 호스트에 있습니다.
Host_a가 host_b의 Known_hosts에 없습니다.
간결함을 위해 지문을 변경하고 일부 출력을 다듬었지만 그 외에는 이것이 일련의 사건입니다.
아주 무작위로, 나는 (known_hosts에 있는) host_b로 ssh를 시도하고 원격 호스트 경고를 받습니다.
me@host_a:~ $ ssh host_b
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:9rxxxxxxxxxxxxxxxxxxxxxxxxxNI.
Please contact your system administrator.
Add correct host key in /Users/me/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/me/.ssh/known_hosts:6
Host key for host_b has changed and you have requested strict checking.
Host key verification failed.
그런 다음 즉시 다시 시도해 보았는데 효과가 있었습니다.
me@host_a:~ $ ssh host_b
Last login: Sat Feb 11 11:49:59 2023 from 10.0.1.50
me@host_b:~$
그런 다음 SSH를 통해 다시 호스트_a로 연결하려고 합니다(알 수 없음).
me@host_b:~$ ssh host_a
The authenticity of host 'host_a (10.0.1.50)' can't be established.
ED25519 key fingerprint is SHA256:9rxxxxxxxxxxxxxxxxxxxxxxxxxNI.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? ^C
me@host_b:~$ exit
이상하게도, Host_a의 지문은 Host_b가 첫 번째 시도에서 자신을 식별하는 데 사용했다고 말한 것과 동일합니다.
다시 Host_a로 돌아가서 지문을 확인하려고 합니다.
me@host_a:~ $ ssh-keyscan host_b | ssh-keygen -lf -
...
256 SHA256:7gxxxxxxxxxxxxxxxxxxxxxxxxxOA host_b (ED25519)
...
me@host_a:~ $ ssh-keyscan host_a | ssh-keygen -lf -
...
256 SHA256:9rxxxxxxxxxxxxxxxxxxxxxxxxxNI host_a (ED25519)
...
localhost 또는 127.0.0.1(host_a 아님)에서 ssh-keyscan을 실행하면 동일한 지문이 생성됩니다.
이것은 무작위로 발생합니다. 약 10-15분 동안 host_b에 ssh를 연결하지 않으면 첫 번째 시도에서 원격 호스트의 지문이 일치하지 않는다는 경고가 표시됩니다(항상 실제 호스트의 지문입니다!).
내 홈 네트워크에 악의적인 것이 없다고 확신합니다. 그런데 이 문제의 원인은 무엇일까요?