SSH-KEYSCAN(1)

명칭
ssh-keyscan - ssh 공개열쇠를 수집한다

서식
ssh-keyscan [-v46] [-p 포트 번호] [-T 타임 아웃초수] [-t 열쇠의 종류] [-f 파일명] [호스트명 | 주소 리스트 호스트명 리스트] [...]

해설
ssh-keyscan (은)는 복수의 호스트로부터 ssh 용의 호스트 공개열쇠를 수집하기 위한 유틸리티입니다. 이것은 ssh_known_hosts 파일을 구축해, 검증하는데 도움이 되도록(듯이) 만들어지고 있습니다. ssh-keyscan (은)는 셸 스크립트 혹은 perl 스크립트로부터 사용하는데 적합한, 최소한의 인터페이스를 갖추고 있습니다.

ssh-keyscan (은)는 논브록킹소켓트 I/O 를 사용해, 가능한 한 많은 호스트에 병렬에 액세스 합니다. 그 때문에 이것은 매우 효율적입니다. 1000대정도의 호스트로부터 되는 도메인의 열쇠도 수십초에 모아 버립니다, 비록 몇개의 호스트로 ssh 가 달리지 않기도 하고, 호스트가 다운하고 있거나 해도, 입니다. 스캔을 위해서(때문에) 해당 머신에 로그인할 필요는 없습니다. 또, 스캔 할 경우에 암호를 이용할 필요도 없습니다.

옵션은 이하대로입니다:

-p 포트 번호
    접속하는 리모트 호스트상의 포트를 지정합니다.

-T  접속 요구가 타임 아웃 할 때까지의 초수를 지정합니다. 어느 호스트에 접속을 시도하고 나서, 혹은 마지막에 그 호스트로부터 무엇인가 수신하고 나서 timeout 초가 경과하면(자) 그 접속은 닫혀져 문제의 호스트는 사용 불능으로서 인식됩니다. 디폴트에서는 5초입니다.

-t 열쇠의 종류
    호스트로부터 취득하는 열쇠의 종류를 지정합니다. 취할 수 있는 값은, 프로토콜 버젼 1 의 “rsa1” 라고 프로토콜 버젼 2 의 “rsa” 혹은 “dsa” 입니다. 복수의 값을 지정할 때는, 칸마로 단락지어 주세요. 디폴트에서는 이것은 “rsa1” (이)가 되어 있습니다.

-f 파일명
    이 파일로부터, 호스트명 혹은 주소 리스트 호스트명 리스트 의 조를 읽어들입니다. 서식은 1행 1항목입니다. 인수로서 - 하지만 지정되었을 경우, ssh-keyscan (은)는 표준 입력으로부터 호스트명 혹은 주소 리스트 호스트명 리스트 의 조를 읽어들입니다.

-v  장황 표시 모드. ssh-keyscan 하지만 진행중의 디버그 메세지를 표시하도록(듯이) 합니다.

-4  ssh-keyscan 하지만 IPv4 주소만을 사용하도록(듯이) 강제합니다.

-6  ssh-keyscan 하지만 IPv6 주소만을 사용하도록(듯이) 강제합니다.

보안
ssh-keyscan (을)를 사용해, 열쇠를 검증하지 않고 ssh_known_hosts 파일을 (위장) 공격에 대해서 무방비가 됩니다. 한편, 사용의 보안 모델이 그러한 위험을 배고 있는 경우, 한 번 이쪽의 ssh_known_hosts 를 만들어 버리면, ssh-keyscan (은)는 그것 이후의, 개찬된 열쇠 파일이나 man in the middle 공격을 검지하는데 사용할 수 있습니다.

사용예

hostname 그리고 지정되는 머신의 rsa1 호스트열쇠를 표시한다:

    $ ssh-keyscan hostname

파일 ssh_hosts 에 있는 호스트 가운데, 새로운 호스트, 혹은 정렬 되었다 ssh_known_hosts 파일에 있는 것과 열쇠가 차이가 나는 호스트를 찾아낸다:

    $ ssh-keyscan -t rsa, dsa -f ssh_hosts | \
    	sort -u - ssh_known_hosts | diff ssh_known_hosts -

관련 파일
입력 형식:

    1.2. 3.4, 1.2. 4.4 name.my.domain, name, n.my.domain, n, 1.2. 3.4, 1.2. 4.4

rsa1 열쇠의 출력 형식:

    호스트 혹은 호스트명의 리스트 비트수나무 지수 계수

rsa 및 dsa 열쇠의 출력 형식:

    호스트 혹은 호스트명의 리스트열쇠의 종류 base64 encode 된 열쇠

keytype 의 값은 “ssh-rsa” 혹은 “ssh-dsa” 의 어느 쪽인지입니다.

/etc/ssh/ssh_known_hosts

버그
서버측의 버젼이 2.9 보다 낡으면 이 프로그램은 스캔 한 모든 머신의 콘솔상에 "Connection closed by remote host" 의 메세지를 남깁니다. 이것은, 이 프로그램이 ssh 용의 포트에 접속한 뒤, 공개열쇠를 읽어들이자 마자 접속을 잘라 버리기 (위해)때문입니다.

관련 항목
ssh(1), sshd(8)

저자
David Mazieres <dm@lcs.mit.edu> 하지만 최초의 버젼을 써, Wayne Davison <wayned@users.sourceforge.net> 하지만 프로토콜 버젼 2 의 서포트를 추가했습니다.

일본어 번역
니이야마 유스케 (yusuke at cs . nyu . edu) 2002/6/21 (for 3.3p1)

당메뉴얼 페이지는 씨의 호의에 의해 FreeBSD 일본어 메뉴얼에 수록하고 있습니다. 번역에 대한 의견, 지적이 있으면 니이야마씨 (yusuke at cs . nyu . edu), 및 FreeBSD jpman 프로젝트 <man-jp@jp.FreeBSD.org> 까지 전송해 주세요.