50% 할인 모든 플랜, 기간 한정. 시작 가격 $2.48/mo
10분 남음
보안 및 네트워킹

경고: 원격 호스트 식별이 변경되었습니다 - 수정 방법

렉사 사이러스 By 렉사 사이러스 읽는 데 10분 Updated 72d ago
어두운 청록색 배경에 원격 호스트 식별 변경 경고 메시지와 수정 가이드 제목, Cloudzy 브랜딩이 표시된 SSH 터미널 화면.

SSH는 시스템 간에 암호화된 터널을 생성하는 보안 네트워크 프로토콜입니다. 그래픽 인터페이스 없이 원격으로 서버에 접속해야 하는 개발자들 사이에서 꾸준히 사용되고 있습니다. SSH는 오랜 기간 수많은 사용자에게 안정적으로 사용되어 왔지만, 특정 오류가 발생할 수 있습니다.

이러한 오류 중 상당수는 SSH 커뮤니티에서 잘 알려져 있으며, 해결 방법도 널리 공유되어 있습니다. 대표적인 예는 다음과 같습니다. 방화벽 비호환성, SSH 공개 키 삽입 문제, SSH 파일 키 모드 문제, 그리고 "Warning: Remote Host Identification Has Changed" 오류.

이 오류는 Windows, Linux, macOS를 포함한 모든 주요 운영 체제에서 발생할 수 있습니다. 단순한 기술적 오류가 아닌 실제 보안 문제가 원인일 수 있습니다. 이 문서에서는 이 오류가 발생하는 이유, SSH 연결 보안에 미치는 영향, 그리고 각 주요 플랫폼에서의 해결 방법을 설명합니다.

"Warning: Remote Host Identification Has Changed"가 발생하는 원인과 대응 방법

"Warning: Remote Host Identification Has Changed"는 사용자의 known_hosts 파일에 저장된 SSH 공개 키가 서버에서 현재 제공하는 키와 일치하지 않을 때 나타납니다. 이 불일치가 감지되면 SSH의 내장 보안 메커니즘이 작동하여 잠재적인 위협으로부터 사용자를 보호합니다.

호스트 키가 변경되는 정상적인 사유

서버의 호스트 키가 변경되는 데에는 여러 가지 일반적인 이유가 있습니다. 사용 중인 키 유형에 따라 "RSA host key has changed"와 같은 메시지가 표시될 수도 있습니다.

OS 업그레이드, 서버 재구축, 백업 복원, 물리 서버에서 가상 서버로의 마이그레이션, SSH 설정 초기화 등 SSH 호스트 키를 변경하는 서버 변경 사항을 설명하는 인포그래픽.
서버 관련 변경 사항:

  • 서버 운영 체제가 재설치되거나 업그레이드됨
  • 서버가 재구성되었거나 백업에서 복원됨
  • 서버의 SSH 구성이 초기화됨
  • 물리 또는 가상 머신이 교체됨
  • 새 하드웨어로 서버 마이그레이션

네트워크 구성 변경 사항:

  • 클라우드 공급자는 시간이 지남에 따라 IP 주소를 재사용하거나, 연결이 로드 밸런서를 통해 라우팅될 수 있습니다.
  • DHCP가 IP 주소를 다른 머신에 재할당함
  • 폐기된 서버의 IP가 새 시스템에 할당됨
  • 다른 서버를 가리키도록 DNS 레코드가 업데이트됨

DHCP 서버가 가상 머신에 동적 IP 주소를 할당하는 네트워크 다이어그램. 서버 폐기 및 IP 재발급으로 인해 SSH 호스트 키 충돌이 발생하는 상황을 보여줍니다.

키 관리 작업:

  • 시스템 관리자가 보안 목적으로 호스트 키를 수동으로 재생성함
  • SSH 서버 소프트웨어가 재설치됨
  • 보안 정책에 따라 키 교체가 요구됨

사용자 비밀번호 변경은 호스트 키에 영향을 주지 않는다는 점을 기억하세요. 두 항목은 별개의 인증 메커니즘입니다. 호스트 키는 서버 자체 또는 SSH 구성이 변경될 때만 바뀝니다.

경고를 진지하게 받아들여야 할 때

호스트 키 변경 중 많은 경우는 정상적인 이유에 의한 것이지만, 실제 보안 위협일 수도 있습니다. 다음에 해당한다면 주의가 필요합니다:

  • 서버에 직접 변경한 사항이 없고 예정된 유지보수도 없었음
  • 키 변경 이유를 서버 관리자에게 확인할 수 없음
  • 퍼블릭 네트워크 또는 신뢰할 수 없는 연결을 통해 서버에 접속 중임
  • 프로덕션 시스템이나 민감한 데이터가 포함된 서버에 접속 중임


정상적인 SSH 변경 사항을 녹색으로, 보안 위협 시나리오를 적색으로 나누어 비교한 화면. 중간자 공격을 나타내는 후드 차림의 인물이 포함되어 있습니다.
중간자 공격은 비교적 드물지만 실제로 발생합니다. 이러한 공격에서 공격자는 사용자의 컴퓨터와 실제 서버 사이에 위치하여 모든 트래픽을 가로챕니다.

사용자 오류 소셜 엔지니어링은 전체 보안 침해 사고의 68%를 차지합니다. 그만큼 주의가 중요합니다. 다음 내용을 통해 시스템을 더 안전하게 보호하는 방법을 알아보세요. 무차별 대입 공격 차단.

IBM의 최근 통계에 따르면, 전 세계 평균 데이터 유출 2025년 기준 평균 피해액은 444만 달러에 달했으며, 침해 탐지까지 평균 8개월이 걸렸습니다. 이것이 바로 SSH의 호스트 키 검증 메커니즘이 존재하는 이유이며, 경고가 표시될 때 조사 없이 무시해서는 안 되는 이유입니다.

경고가 안전한지 확인하는 방법

문제를 해결하기 전에 다음 사항을 먼저 확인하세요:

합법적인 SSH 호스트 키 변경을 확인하는 다섯 가지 검증 방법을 보여주는 순서도. 팀 내 협의, 호스팅 제공업체 문의, 보안 채널 활용, 핑거프린트 비교 등의 방법이 포함됩니다.

  1. 팀에 확인해 보세요: 서버 접근 권한을 공유하고 있다면, 동료가 변경한 내용이 있는지 먼저 확인하세요
  2. 서버 로그 확인: 최근 변경 사항이나 유지보수 기록을 확인하세요
  3. 호스팅 제공업체에 문의하세요: 클라우드 서비스를 사용 중이라면, 해당 서비스에서 점검이 있었는지 확인하세요
  4. 보안 채널을 사용하세요: 가능하다면, 신뢰할 수 있는 네트워크에 연결한 상태에서 핑거프린트를 확인하세요
  5. 지문 비교: 일부 호스팅 제공업체는 현재 SSH 핑거프린트를 제어판에 표시합니다

키 변경이 정상적으로 이루어진 것이 확실하다면, 기존 키를 제거하고 새 키를 등록해도 안전합니다.

동적 IP 재할당이나 호스트 키 충돌을 피하려면, 어떤 인프라를 선택하느냐가 중요합니다.

Cloudzy 제공 SSH VPS 호스팅 전용 정적 IP를 제공합니다. AMD Ryzen 9 프로세서와 NVMe 스토리지로 명령을 즉시 실행할 수 있습니다. 전 세계 12개 위치에서 40 Gbps 네트워크를 제공하며, DDoS 보호 기능을 무료로 포함해 연결을 안전하게 유지합니다.

"원격 호스트 식별 정보가 변경되었습니다" 오류 해결 방법

수정 방법은 간단합니다: 시스템에서 기존 키 레코드를 삭제하세요. 이렇게 하면 불일치가 해소되고, 다음 연결 시 새 키를 저장할 수 있습니다. 자세한 내용은 아래 가이드를 참고하세요: SSH 클라이언트 더 많은 도구를 확인하세요.

또한 명령어 하나로, 또는 파일을 직접 편집해서 이 작업을 수행할 수 있습니다.

방법 1: 커맨드 라인 사용 (가장 빠른 방법)

이 방법은 macOS, Linux, Windows 10 이상(OpenSSH 사용)에서 동작합니다. 오류를 해결하는 가장 빠른 방법입니다. 자세한 내용은 ssh-keygen 매뉴얼 페이지

  1. 터미널을 엽니다.
  2. 다음 명령어를 실행합니다( hostname 자리에 서버의 IP 또는 도메인을 입력하세요): 
ssh-keygen -R hostname
This command automatically finds the old key in your known_hosts file and deletes it.  Method 2: Manual File Editing (macOS)

직접 편집기를 사용하고 싶다면, 해당 키를 직접 삭제할 수 있습니다. 오류 메시지에 삭제해야 할 줄 번호가 정확히 표시됩니다.

터미널을 열고 다음 명령어로 파일을 편집합니다: Nano:

nano ~/.ssh/known_hosts

오류 메시지에 표시된 줄을 찾아 삭제한 후 Ctrl + XY 저장하기

macOS 터미널 창에서 nano 텍스트 편집기로 known_hosts 파일을 열고, 삭제할 줄을 강조 표시하며 단계별 안내와 저장 방법을 보여주는 화면.

Windows 해결 방법

Windows 사용자는 주로 기본 제공 OpenSSH 클라이언트나 PuTTY를 사용합니다.

옵션 1: Windows OpenSSH (Windows 10/11)

Windows 10과 11에서 OpenSSH는 선택적 기능입니다. 설정 > 앱 > 선택적 기능에서 추가할 수 있습니다. Server 2025에는 클라이언트가 포함되어 있지만, 별도로 활성화해야 합니다.

PowerShell 또는 명령 프롬프트를 사용하는 경우, 방법 1의 ssh-keygen 명령어를 그대로 사용할 수 있습니다.

파일을 직접 편집하려면:

  1. 누르기 Windows 키 + R.
  2. 유형 %USERPROFILE%\.ssh 그리고 누르기 Enter.
  3. 열기 known_hosts 파일을 Notepad로 엽니다.
  4. 오류를 유발하는 줄을 삭제하고 파일을 저장합니다.

키를 올바르게 관리하는 방법은 다음 가이드를 참고하세요: Windows에서 SSH 키 생성하기.

옵션 2: PuTTY 사용

PuTTY는 키를 파일이 아닌 Windows 레지스트리에 저장합니다.

  1. 레지스트리 편집기를 엽니다( Windows 키 + R, 입력 regedit, 그리고 클릭 Enter).
  2. 다음으로 이동: HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys\
  3. 서버의 호스트명 또는 IP와 일치하는 항목을 찾습니다.
  4. 마우스 오른쪽 버튼으로 클릭한 후 삭제.

Windows PowerShell 명령으로 SSH 호스트 키를 제거하는 화면. File Explorer에서 업데이트된 known_hosts 파일을 확인할 수 있으며, PuTTY Registry Editor에서 호스트 키 삭제 확인 대화상자가 표시됩니다.

Linux에서의 해결 방법

ssh-keygen 우리가 다룬 명령어 방법 1 은 Linux에서 이 문제를 해결하는 표준 방법입니다. 빠르고 기본으로 지원됩니다.

수동 편집

파일 내용을 직접 확인하고 싶다면 Nano 같은 텍스트 편집기로 열 수 있습니다.

  1. 터미널을 엽니다.
  2. 유형 nano ~/.ssh/known_hosts 그리고 누르기 Enter.
  3. 오류 메시지에 표시된 줄 번호를 찾으세요.
  4. 해당 줄을 삭제한 후 Ctrl + XY 저장하기

다음을 사용할 수도 있습니다 Vim (vim ~/.ssh/known_hosts) 에 익숙하다면 사용 가능합니다.

Linux 터미널에서 ssh-keygen 명령으로 호스트 이름과 IP 주소를 기준으로 SSH 호스트 키를 제거하는 화면. 성공 확인 메시지와 known_hosts 파일 예시가 포함됩니다.
검사 비활성화 시 주의사항

SSH가 검증 없이 연결되도록 강제할 수 있지만, 이는 위험합니다. 중간자 공격에 대한 보호를 우회하게 됩니다.

이 방법은 신뢰할 수 있는 네트워크에서 로컬 테스트를 할 때만 사용하세요. macOS와 Linux에서는 다음과 같이 입력합니다:

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected]

Windows를 사용 중이라면 Unix 경로가 동작하지 않습니다. 우회를 적용하려면 NUL 를 사용해야 합니다:

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL [email protected]

공용 연결이나 운영 서버에서는 이 옵션을 사용하지 마세요.

키 불일치 수정은 일상적인 유지보수 작업이지만, 연결 보안을 더 강화할 수도 있습니다. 봇들은 기본 포트 22를 대상으로 무차별 대입 공격을 자주 시도합니다. Linux에서 SSH 포트 변경 으로 예측하기 어려운 포트를 사용하면 이런 불필요한 트래픽 대부분을 차단할 수 있습니다.

SSH 중간자 공격 다이어그램: 공격자가 클라이언트-서버 연결을 가로채는 구조, 공격자 키와 서버 키 비교, 데이터 탈취 및 금전적 손실 강조.

운영 서버나 신뢰할 수 없는 네트워크에서는 이 방법을 절대 사용하지 마세요.

다음에는 "Remote Host Identification Has Changed" 메시지를 예방하는 방법

정당한 호스트 키 변경을 항상 막을 수는 없지만, 불필요한 혼란을 최소화하고 더 나은 보안 관행을 유지할 수 있습니다.

빠른 참조 가이드

당신의 역할 핵심 전략
시스템 관리자 키를 백업하고, 변경 사항을 문서화하고, 인증서를 활용하고, 키를 주기적으로 교체하세요
일반 사용자 인벤토리를 유지하고, 안전한 채널을 통해 검증하며, 로그를 모니터링하세요
클라우드 환경 

사용자

DNS 이름을 사용하고, 프로바이더 도구를 활용하며, 인프라를 코드로 관리하세요

SSH 키 관리 모범 사례를 보여주는 인포그래픽: SSH 인증서 사용, DNS 이름 사용, Infrastructure as Code 적용, 호스트 키 백업, 변경 사항 문서화, 배스천 호스트 도입.

시스템 관리자를 위한 안내

호스트 키 백업: 다음 경로에서 키를 저장하세요: /etc/ssh/ OS를 재설치하기 전에 키를 백업하고, 이후 복원하세요. 사용자에게 경고가 표시되는 것을 방지할 수 있습니다.

변경 사항 사전 공지: 키를 변경하기 전에 사용자에게 미리 알리고, 새 핑거프린트를 안전한 방법으로 공유하세요. 사용자가 연결을 직접 확인할 수 있습니다.

SSH 인증서 사용: 규모가 큰 팀은 중앙 인증 기관을 사용하세요. 호스트 키에 서명하여 수동 검증 절차를 없앨 수 있습니다.

키 교체 주기 설정: 호스트 키 변경 일정을 미리 계획하세요. 예측 가능한 업데이트는 갑작스러운 변경보다 팀이 대응하기 훨씬 쉽습니다.

일반 사용자를 위한 안내

인벤토리 유지: 서버 핑거프린트를 직접 기록해두거나, 팀의 보안 문서를 활용하세요.

대역 외 채널로 검증: 캐주얼한 메시지가 아닌, 클라우드 콘솔처럼 신뢰할 수 있는 출처에서 키를 확인하세요.

모니터 로그: 로컬 SSH 로그를 주기적으로 확인하여 비정상적인 연결 패턴이나 반복적인 오류가 없는지 살펴보세요.

Config 관리 도구 사용: SSH 설정 파일을 활용해 동적 개발 환경을 관리하되, 보안 설정은 낮추지 마세요.

동적 클라우드 환경을 위한 안내

DNS 이름 사용: IP 대신 호스트명으로 연결하세요. 기반 주소가 바뀌어도 일관성을 유지할 수 있습니다.

클라우드 도구 활용: 프로바이더 콘솔에서 현재 핑거프린트를 확인하세요. 변경 사항을 수락하기 전에 반드시 해당 도구와 대조해 검증하세요.

Infrastructure as Code: 인프라스트럭처 as Code: Terraform 같은 도구로 키 검증을 자동화하세요. 고급 설정이 필요하다면 SSH SOCKS5 프록시 사용.

요새 호스트: 안정적인 키로 점프 서버를 구성하세요. 동적 인프라에 대한 안전한 진입점 역할을 합니다.

결론

"Warning: Remote Host Identification Has Changed"는 SSH의 중요한 보안 기능입니다. 무시해도 될 오류가 아닙니다. 이 경고는 서버 유지보수나 설정 변경처럼 정상적인 이유로 나타나는 경우도 많지만, 중간자 공격(man-in-the-middle attack)과 무단 접근으로부터 시스템을 보호하는 핵심 역할을 합니다.

이 경고가 나타나면 원인을 파악한 뒤 진행하세요. 대부분의 경우 해결 방법은 간단합니다. 운영 체제에 맞는 방법으로 기존 호스트 키를 삭제한 다음, 다음 접속 시 새 키를 수락하면 됩니다.

SSH 호스트 키의 작동 방식을 이해하고 모범 사례를 따르면, 원격 접속 워크플로에서 보안과 편의성을 모두 확보할 수 있습니다. 파일을 안전하게 전송하는 방법에 대한 자세한 내용은 다음을 참고하세요. SSH를 통한 파일 복사.

 

자주 묻는 질문

경고 메시지 '원격 호스트 식별 정보가 변경되었습니다'를 무시해도 될까요?

네, 진지하게 받아들이세요. 서버의 신원이 변경되었다는 뜻으로, 중간자 공격(man-in-the-middle attack)의 징후일 수도 있고 단순한 정기 유지보수일 수도 있습니다. 새 키를 수락하기 전에 반드시 관리자나 서비스 제공자에게 변경 여부를 확인하세요.

원격 호스트 식별 정보가 변경되었다는 경고, 왜 발생할까?

이 경고는 서버의 현재 핑거프린트가 known_hosts 파일에 저장된 것과 일치하지 않을 때 발생합니다. 주요 원인으로는 OS 재설치, IP 재할당, 또는 SSH 설정 초기화가 있습니다. 드물게는 실제 중간자 공격(man-in-the-middle attack)이 진행 중임을 나타내기도 합니다.

이 오류는 운영 체제에 따라 다르게 발생할 수 있나요?

네, 이 경고는 SSH를 사용하는 모든 운영 체제에 영향을 미칩니다. Windows, macOS, Linux도 예외가 아닙니다. 원인은 SSH 프로토콜의 보안 검증 방식에 있습니다. 플랫폼마다 해결 방법은 다를 수 있지만, 보안 경고를 유발하는 근본 원인은 모든 시스템에서 동일합니다.

호스트 키가 변경된 경우, 정상적인 변경인지 공격인지 어떻게 구별하나요?

정당한 변경인지 확인하려면, 최근에 서버 점검, OS 업데이트, 또는 IP 변경이 있었는지 살펴보세요. 접속 전에 반드시 클라우드 제공업체 콘솔이나 시스템 관리자의 확인 등 신뢰할 수 있는 출처를 통해 새 핑거프린트를 검증해야 합니다.

호스트 키 확인을 비활성화하면 SSH 연결이 더 편리해질까?

편리하지만 보안을 희생하는 설정입니다. 인증서 검사를 비활성화하면 중간자 공격(man-in-the-middle) 방어가 무력화되어 연결이 취약해집니다. 이 설정은 격리된 테스트 환경에서만 사용하세요. 민감한 데이터가 오가는 프로덕션 서버나 공용 네트워크에서는 절대 사용해선 안 됩니다.

SSH 호스트 키는 얼마나 자주 교체해야 할까요?

호스트 키는 일반적으로 정기적인 교체가 필요하지 않습니다. 서버 재구축, OS 재설치, 또는 보안 침해가 발생한 경우에만 변경하는 것이 원칙입니다. 잦은 변경은 사용자에게 혼란을 줄 수 있으므로, 업데이트가 필요할 때는 안정성 유지와 명확한 사전 공지를 우선시하세요.

공유

블로그 더 보기

계속 읽기.

노트북이 빛나는 파란색과 금색 디지털 터널과 방패 아이콘을 통해 서버 랙에 연결되는 모습을 보여주는 MikroTik L2TP VPN 가이드의 Cloudzy 타이틀 이미지.
보안 및 네트워킹

MikroTik L2TP VPN 설정 (IPsec 포함): RouterOS 가이드 (2026)

이 MikroTik L2TP VPN 설정에서 L2TP는 터널링을 담당하고 IPsec은 암호화와 무결성을 담당합니다. 두 가지를 함께 사용하면 서드파티 없이도 네이티브 클라이언트 호환성을 확보할 수 있습니다.

렉사 사이러스렉사 사이러스 9분 분량
어두운 배경에 경고 기호와 파란색 서버가 있는 Linux 이름 확인 오류 관련 DNS 서버 문제 해결 가이드 일러스트
보안 및 네트워킹

이름 확인 임시 실패: 원인과 해결 방법

Linux를 사용하다 보면 웹사이트 접속, 패키지 업데이트, 인터넷 연결이 필요한 작업 실행 시 이름 확인 임시 실패 오류가 발생할 수 있습니다.

렉사 사이러스렉사 사이러스 읽는 데 12분
도메인을 VPS에 연결하는 방법: 빠른 가이드
보안 및 네트워킹

도메인을 VPS에 연결하는 방법: 빠른 가이드

도메인을 가상 사설 서버에 연결하는 것은 웹사이트와 애플리케이션을 호스팅하는 데 필수적입니다. 이 가이드에서는 도메인을 서버에 연결하는 데 필요한 모든 내용을 다룹니다

렉사 사이러스렉사 사이러스 16분 분량

배포할 준비가 됐나요? 월 $2.48부터.

2008년부터 운영해온 독립 클라우드. AMD EPYC, NVMe, 40 Gbps. 14일 환불 보장.