git - REMOTE HOST IDENTIFICATION HAS CHANGED!
DNS와 Port는 동일하게 맞췄지만, 호스팅 서버가 바뀐 gitlab에 대해 기존 repo를 접근했더니 이런 오류가 발생합니다.
c:\temp\testapp> git fetch origin
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:isRS/AFCHOPqeld+Vf3zAACinVEHqC7G/xw4vfWss+U.
Please contact your system administrator.
Add correct host key in /c/Users/testusr/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /c/Users/testusr/.ssh/known_hosts:1
ECDSA host key for [gitlab.testrepo.com]:3550 has changed and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
그러니까, gitlab 서버 자체의 구성은 새롭게 되었기 때문에 그것의 호스트 키가 바뀐 것입니다. 해당 호스트 키는 예전에 첫 SSH 접속 시에 다음의 (확장자가 없는) 파일에 저장되는데,
%USERPROFILE%\.ssh\known_hosts
"ECDSA host key for
[gitlab.testrepo.com]:3550 has changed and you have requested strict checking."라는 오류 메시지에 보인 이름에 따라 known_hosts 파일에 다음과 같은 형식으로 있을 것입니다.
[gitlab.testrepo.com]:3550,[192.168.100.50]:3550 ecdsa-sha2-nistp256 BAACE2....[생략]...CqbHM=
따라서, 저 라인을 그냥 삭제해도 되고, ssh-keygen으로 해당 항목을 삭제하는 명령어를 다음과 같이 실행해도 됩니다.
c:\temp\testapp> ssh-keygen -R [gitlab.testrepo.com]:3550
# Host [gitlab.testrepo.com]:3550 found: line 1
C:\Users\testusr/.ssh/known_hosts updated.
Original contents retained as C:\Users\testusr/.ssh/known_hosts.old
이후, 다시 git 명령어를 수행하면 호스트 키를 새롭게 등록하면서 정상적으로 실행이 됩니다.
c:\temp\testapp> git fetch origin
The authenticity of host '[gitlab.testrepo.com]:3550 ([192.168.100.50]:3550)' can't be established.
ECDSA key fingerprint is SHA256:isRS/AFCHOPqeld+Vf3zAACinVEHqC7G/xw4vfWss+U.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[gitlab.testrepo.com]:3550,[192.168.100.50]:3550' (ECDSA) to the list of known hosts.
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 17 (delta 15), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (17/17), 2.42 KiB | 1024 bytes/s, done.
From ssh://gitlab.testrepo.com:3550/testusr/testapp
6d25b791..51ff7546 master -> origin/master
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]