SFTP 서버의 SSH 호스트 키 지문(핑거프린트) 확인
아무 SFTP 서버의 SSH 호스트 키 지문을 받아 옵니다. 계정 정보 없이도 키 종류와 MD5, SHA256 지문을 모두 확인할 수 있습니다.
호스트 키 지문이란?
SSH/SFTP 서버마다 고유한 호스트 키 쌍이 있습니다. 지문은 공개 키를 짧게 해시한 값으로, 사칭한 서버가 아니라 제대로 된 서버에 접속하고 있는지 확인하는 데 씁니다.
SSH 클라이언트는 호스트 키 지문을 known_hosts 파일에 저장합니다. 처음 접속할 때는 지문을 확인해 달라고 묻고, 그다음부터는 자동으로 대조합니다. 지문이 바뀌었다면 중간자 공격이나 서버 재구축을 의심해야 하는 경고 신호입니다.
SHA256과 MD5
SHA256 지문(최신 OpenSSH의 기본값)이 더 안전하고 충돌에도 강합니다. 일부 오래된 클라이언트는 아직 MD5 지문을 보여 줍니다. 둘 다 같은 키를 가리킵니다.
지문을 확인했다면, 이제 접속할 때마다 호스트 키를 확인하는 SFTP 클라이언트에 맡기세요. FTPie는 매번 서버의 신원을 확인하고, 키가 바뀌면 경고합니다.
지문을 직접 확인하기
비교할 값은 확인하려는 바로 그 연결이 아니라 서버 관리자에게서 받아야 합니다. 서버에서는 ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub를 실행하면 Ed25519 키의 SHA256 지문이 나옵니다. RSA와 ECDSA 키도 같은 폴더에 있습니다.
PC에서는 Windows 10과 11에 기본으로 들어 있는 OpenSSH 도구로 이 페이지와 같은 일을 할 수 있습니다. 명령 프롬프트에서 ssh-keyscan sftp.example.com > keys.txt를 실행하면 서버의 공개 키가 저장되고, ssh-keygen -lf keys.txt로 각 키의 지문이 나옵니다. 받은 지문이 SHA256:...이 아니라 a1:b2:c3:... 형태라면 -E md5를 붙여 MD5 형식으로 보세요. 지문은 형식끼리 변환할 수 없으므로, 같은 형식끼리 비교해야 합니다.
서버에는 보통 Ed25519, ECDSA, RSA처럼 호스트 키가 여러 개 있고, 키마다 지문이 다릅니다. 값이 다르게 보이는 이유가 키 종류의 차이뿐인 경우도 많으니, 클라이언트가 실제로 받은 종류의 지문끼리 비교하세요.
서버를 다시 구축했고 새 키가 진짜라면, ssh-keygen -R sftp.example.com으로 옛 항목을 지우고 다음 접속 때 새 지문을 수락하세요.