> 네트워크 관리 > ssh-keyscan

ssh-keyscan: SSH 호스트 키 수집

SSH 서버의 공개 호스트 키를 수집하는 유틸리티입니다. 수집된 키는 `~/.ssh/known_hosts` 파일에 추가되어 SSH 클라이언트가 서버에 연결할 때 서버의 신원을 확인할 수 있도록 합니다. 이는 중간자 공격(Man-in-the-Middle attack)을 방지하는 데 중요한 역할을 합니다.

개요

ssh-keyscan은 하나 이상의 호스트에서 SSH 공개 키를 수집하여 표준 출력으로 내보냅니다. 이 키는 `known_hosts` 파일에 추가되어 SSH 연결의 보안을 강화하는 데 사용됩니다.

주요 기능

  • SSH 호스트 공개 키 수집
  • `known_hosts` 파일 업데이트 지원
  • 중간자 공격(MITM) 방지
  • 여러 호스트 또는 특정 포트 스캔

주요 옵션

ssh-keyscan 명령어의 주요 옵션들은 키 수집 방식, 출력 형식, 그리고 대상 호스트 지정 방법을 제어합니다.

키 수집 및 출력

생성된 명령어:

명령어를 조합해 보세요.

설명:

`ssh-keyscan` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

ssh-keyscan의 다양한 사용 예시를 통해 SSH 호스트 키를 효과적으로 수집하고 관리하는 방법을 알아봅니다.

단일 호스트의 키 스캔

ssh-keyscan example.com

지정된 호스트의 모든 공개 키를 표준 출력으로 표시합니다.

키를 known_hosts 파일에 추가

ssh-keyscan -H example.com >> ~/.ssh/known_hosts

호스트의 키를 수집하여 `~/.ssh/known_hosts` 파일에 추가합니다. `-H` 옵션으로 호스트명을 해시하여 저장하는 것이 보안상 권장됩니다.

특정 포트의 키 스캔

ssh-keyscan -p 2222 example.com

기본 SSH 포트(22)가 아닌 다른 포트에서 SSH 서비스를 제공하는 호스트의 키를 스캔합니다.

파일에서 호스트 목록 읽기

ssh-keyscan -f hosts.txt

`hosts.txt` 파일에 한 줄에 하나씩 호스트 이름이 나열되어 있을 때, 해당 파일의 모든 호스트 키를 스캔합니다.

특정 키 타입만 스캔

ssh-keyscan -t rsa,ecdsa example.com

RSA 및 ECDSA 키 타입만 수집합니다.

팁 & 주의사항

ssh-keyscan을 사용할 때 유용한 팁과 주의해야 할 보안 사항들입니다.

보안 고려사항

  • 수집된 키는 항상 신뢰할 수 있는 소스에서 왔는지 확인하십시오. 특히 처음 연결하는 서버의 경우, 서버 관리자로부터 키의 지문을 직접 확인하는 것이 가장 안전합니다.
  • `known_hosts` 파일은 민감한 정보이므로 적절한 파일 권한(일반적으로 600)으로 보호해야 합니다.
  • `ssh-keyscan`은 서버의 공개 키만 수집하며, 서버에 대한 인증을 시도하지 않습니다. 따라서 서버에 대한 접근 권한이 없어도 키를 수집할 수 있습니다.

자동화 스크립트에서 활용

새로운 서버를 프로비저닝하거나 대규모 환경에서 `known_hosts` 파일을 중앙에서 관리할 때, `ssh-keyscan`을 자동화 스크립트에 포함하여 사용할 수 있습니다. 이를 통해 수동으로 키를 추가하는 번거로움을 줄이고 일관된 보안 정책을 유지할 수 있습니다.


동일 카테고리 명령어