서버 접속 시 발생하는 known_hosts 이슈에 대해 이야기해볼까 합니다. SSH나 SCP를 자주 사용하시는 분들이라면 한번쯤 겪어보셨을 문제이죠.
접속이 되질 않아 몹시 답답하고 짜증 나는 상황! 이럴 때 어떻게 대처해야 할지 모르셨다면, 제가 알려드릴 방법을 통해 손쉽게 해결할 수 있을 거예요.
👇 꼭! 함께 챙겨 보시면 좋습니다. 👇
목차 |
known_hosts 이슈
SSH나 SCP로 원격 서버에 접속하려 할 때, 다음과 같은 경고 메시지가 나오는 경우가 있습니다:
"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!"
이는 로컬 서버가 접속하려는 서버의 정보를 가지고 있지만, 그 정보가 현재와 일치하지 않음을 의미합니다. 과거에 해당 서버에 접속한 이력이 있었기 때문에 발생한 문제라고 볼 수 있죠.
known_hosts 이슈 해결 방법
해결 방법은 메시지 자체에서도 알려주고 있답니다. "Add correct host key in /root/.ssh/known_hosts to get rid of this message." 바로 /root/.ssh/known_hosts 파일을 수정하라는 것이죠!
1. known_hosts 파일 열기
먼저 텍스트 에디터로 known_hosts 파일을 열어봅시다.
# vi /root/.ssh/known_hosts
2. 문제가 되는 열 찾기
접속하려는 서버 IP를 검색하여 문제의 열을 찾거나, 에러 메시지에서 알려준 열 번호로 이동할 수 있습니다. 예를 들어, "Offending key in /root/.ssh/known_hosts:12"라고 나왔다면 12번째 열로 이동하면 되겠죠?
3. 해당 열 삭제하고 접속 재시도
문제의 열에서 dd 명령어를 입력하면 그 열이 삭제됩니다. 이제 다시 SSH나 SCP로 원격 서버에 접속해보세요! 정상적으로 접속이 되는 것을 확인할 수 있을 거예요.
known_hosts 존재 이유
왜 이런 기능이 있을까요? known_hosts는 접속하려는 서버의 IP 주소를 추가로 확인하는 과정을 거치는데요. 이를 통해 해커의 공격으로 인한 호스트 키 변경 여부를 확인할 수 있어 보안을 강화할 수 있습니다!
다만 이 기능이 필요하지 않다면 /etc/ssh/ssh_config 파일에서 StrickHostKeyChecking 플래그를 no로 변경하면 해결할 수 있겠죠. 단, 보안상 권고되지 않는 방법이라는 점 명심하셔야 합니다.
마무리
이렇게 SSH와 SCP 접속 시 자주 발생하는 known_hosts 이슈에 대해 알아봤습니다. 간단한 해결 방법을 통해 더 이상 접속 문제로 고생하지 않으셨으면 좋겠네요! 부디 서버 운영과 개발에 지장 없기를 바라며, 다음에도 유용한 팁을 전해드리겠습니다. 감사합니다:)
댓글