개요
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`을 자동화 스크립트에 포함하여 사용할 수 있습니다. 이를 통해 수동으로 키를 추가하는 번거로움을 줄이고 일관된 보안 정책을 유지할 수 있습니다.