SSH통신의 대상이 되는 원격서버에는 서버 자신 고유의 호스트키가 저장되어있습니다.
클라이언트가 인증을 시도할 때 로컬 호스트의 기존에 저장되어있던 호스트 키와 비교를 하여 값이 다를 경우 원격서버에 문제가 있다는 경고가 표시되어 접속이 불가능할 수 있습니다.
간단한 절차를 나열하자면 아래와 같습니다 :
1. 원격서버로 ssh 연결 시도 > 연결 성공
2. 연결 성공시 known_hosts에 연결된 원격서버의 호스트 키 정보 저장
3. 다음 연결 시부터 known_hosts의 호스트 키와 원격서버의 호스트 키랑 비교함
4. 원격 서버의 호스트 키가 수정(변조)되었을 경우 연결 오류 발생
이렇게 하여 ssh 연결시에는 아래와 같은 경고문이 뜨게 됩니다. (일부 내용이나 known_hosts 저장 위치가 다를 수 있음)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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:********************************************************* Please contact your system administrator. Add correct host key in /home/[username]/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/[username]/.ssh/known_hosts:1 remove with: ssh-keygen -f "/home/[username]/.ssh/known_hosts" -R [hostname] ECDSA host key for [hostname] has changed and you have requested strict checking. Host key verification failed.
이 문제를 해결하는 방법은 간단히 known_hosts의 내용을 지우면 됩니다.
신뢰할 수 있는 호스트가 아닐 수도 있으니 호스트서버 상태를 점검한 후에 진행해야 합니다.
known_hosts는 보통 /home/[ssh로 접속한 계정]/.ssh 에 생성됩니다.
파일의 내용을 지워주시면, 정상적으로 연결됨을 확인할 수 있습니다.
Xcode에서 iOS 애플리케이션을 빌드(Archive)하고 App Store Connect에 앱을 업로드하는 도중, 아래와 같은 에러가 발생하면서 더…
INSTALL_FAILED_INSUFFICIENT_STORAGE 문제 안드로이드 스튜디오에서 에뮬레이터를 실행하고 개발중인 애플리케이션을 실행하려 하면 로그 창에 아래와 같이 표시되면서…
리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…
JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…
NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…