/usr/bin/ssh-keyscan

From Azupedia
Revision as of 11:58, 18 December 2022 by imported>Fire (EXAMPLES)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

ssh-keyscan — サーバからSSH公開鍵を収集する

SYNOPSIS

ssh-keyscan [-46cDHv] [-f file] [-p port] [-T timeout] [-t type] [host | addrlist namelist]

DESCRIPTION

ssh-keyscan は、多数のホストの公開 SSH ホスト鍵を収集するためのユーティリティである。 ssh-keyscan は、シェルスクリプトや perl スクリプトで使用するのに適した 最小限のインターフェイスを提供する。

ssh-keyscan はノンブロッキングのソケット I/O を使って、 できるだけ多くのホストに並行して接続するため、非常に効率的である。 1,000 台のホストからなるドメインの鍵は、それらのホストの一部がダウンしていたり sshd が動作していない場合でも、数十秒で収集することができる。 スキャンするためには,スキャンされるマシンへのログインアクセスは必要なく,またスキャン処理には暗号化も必要ない。

オプションは以下の通り:

-4
強制的にIPv4アドレスだけを使う。
-6
強制的にIPv6アドレスだけを使う。
-c
プレーンキーではなく、ターゲットホストに証明書を要求する。
-D
SSHFP の DNS レコードとして見つかった鍵を表示します。 デフォルトでは ssh の known_hosts ファイルとして利用可能な形式で鍵を表示する。
-f file
ファイルからホストまたは "addrlist namelist" のペアを 1 行に 1 つずつ読み込む。 ファイル名の代わりに '-' が与えられると、ssh-keyscan は標準入力から読み取る。 入力は以下の形式であることが期待される。
1.2.3.4,1.2.4.4 name.my.domain,name,n.my.domain,n,1.2.3.4,1.2.4.4
-H
出力に含まれるすべてのホスト名とアドレスをハッシュ化する。 ハッシュ化された名前は sshsshd で普通に使用することができるが、ファイルの内容が公開されても、 識別情報を明らかにすることはない。
-p port
リモートホストのポートに接続する。
-T timeout
接続試行のタイムアウトを設定する。 あるホストとの接続が開始されてから、またはそのホストから最後に何かを読み込んでからタイムアウト秒が経過した場合、接続は閉じられ、当該ホストは利用できないものとみなされる。 デフォルトは 5 秒である。
-t type
スキャンされたホストから取り出す鍵の種類を指定する。 指定可能な値は、"dsa"、"ecdsa"、"ed25519"、または "rsa "である。 カンマで区切ることにより、複数の値を指定することができる。 デフォルトは、"rsa"、"ecdsa"、"ed25519"の鍵を取得する。
-v
冗長モード: 進行状況についてデバッグメッセージを表示する。

鍵の検証を行わずに ssh-keyscan を用いて ssh_known_hosts ファイルを構築した場合、ユーザは中間者攻撃 (man in the middle attack) に対して脆弱になる。 一方、セキュリティモデルがそのようなリスクを許容する場合、 ssh-keyscan は改ざんされた鍵ファイルや ssh_known_hosts ファイルが作成された後に 始まった中間者攻撃を検出するのに役立つことがある。

FILES

    /etc/ssh/ssh_known_hosts

EXAMPLES

マシンホスト名に対するRSAホスト鍵を表示:

$ ssh-keyscan -t rsa hostname

ssh_known_hosts にあるホストと異なる鍵を持つホストを ssh_hosts から検索:

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

SEE ALSO

ssh, sshd

Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints, RFC4255, 2006.

AUTHORS

David Mazieres <dm@lcs.mit.edu> wrote the initial version, and Wayne Davison <wayned@users.sourceforge.net> added support for protocol version 2.

External Link