최근 SSH 연결 문제를 해결하면서 경험한 내용을 공유하고자 합니다. 이 글에서는 SSH 접속 중 발생할 수 있는 프로세스에서 없는 파이프에 쓰려고 했습니다
오류와 이를 해결한 과정을 다룹니다.
SSH를 사용하여 원격 서버에 연결을 시도할 때 다음과 같은 에러 메시지가 발생했습니다:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
...
프로세스에서 없는 파이프에 쓰려고 했습니다.
이 메시지는 Man-in-the-Middle 공격 또는 서버의 호스트 키 변경을 의미할 수 있으며, 보안 문제를 암시하는 경고입니다. 주된 이유는 호스트 키가 변경되었기 때문입니다. SSH 클라이언트는 호스트 키를 known_hosts
파일에 저장하여 서버의 신원을 확인합니다. 만약 서버의 키가 변경되면, 클라이언트는 이를 의심스러운 상황으로 간주하고 연결을 차단합니다.
Host key verification failed.
라는 메시지는 SSH 클라이언트가 원격 서버의 호스트 키와 known_hosts
파일에 저장된 키가 일치하지 않는다는 것을 의미합니다. 이는 다음과 같은 경우에 발생할 수 있습니다:
이로 인해 SSH 클라이언트는 보안 문제로 인해 연결을 차단합니다.
이 문제를 해결하기 위해서는 SSH 클라이언트의 known_hosts
파일에서 기존 호스트 키를 제거하고 새 호스트 키를 추가해야 합니다.
SSH는 원격 서버의 호스트 키를 C:\\Users\\user\\.ssh\\known_hosts
파일에 저장합니다. 이 파일에서 문제가 발생한 호스트의 키를 삭제해야 합니다.
파일 경로: C:\\Users\\user\\.ssh\\known_hosts
수정 방법:
Offending ECDSA key in C:\\Users\\user/.ssh/known_hosts:6
)를 찾아 삭제합니다.C:\\Users\\user\\.ssh\\known_hosts:6
해당 키를 삭제한 후 파일을 저장합니다.
known_hosts
파일에서 기존 호스트 키를 삭제한 후, SSH 연결을 다시 시도합니다. 새로운 호스트 키를 받아들이는 메시지가 나오면 yes
를 입력하여 신뢰를 수락합니다.
ssh user@192.168.1.47
이제 새로운 호스트 키가 known_hosts
에 저장되고 정상적으로 연결됩니다.
호스트 키가 변경된 이유가 실제로 보안 문제인지, 아니면 단순한 서버 재설치나 IP 변경인지 명확히 확인하는 것이 중요합니다. 만약 호스트 키가 변경된 이유를 모른다면, 서버 관리자에게 문의하거나 로그를 분석하여 의심스러운 활동이 없는지 확인하는 것이 좋습니다.
SSH를 사용할 때 호스트 키가 변경되는 상황은 종종 발생할 수 있습니다. 이번 포스트에서는 known_hosts
파일을 수정하여 이를 해결하는 방법을 소개했습니다. SSH 연결 관련 오류를 만났을 때, 차분히 문제 원인을 분석하고, 적절한 해결책을 적용하면 대부분의 문제를 해결할 수 있습니다.
위와 같은 방법으로 호스트 키 문제를 해결하셨다면, 다음 번에는 SSH 설정을 더욱 강화하여 안전한 원격 서버 관리를 이어가시길 바랍니다.
문제 요약:
C:\\Users\\user\\.ssh\\known_hosts
파일에서 해당 호스트 키 삭제 후 재연결.이 글이 SSH 관련 문제 해결에 도움이 되었기를 바랍니다.