Go to main content
マニュアルページ セク ション 1: ユー ザーコマンド

印刷ビューの終了

更新: 2016年12月6日
 
 

ssh-keyscan(1)

名前

ssh-keyscan - 複数のホストの公開 SSH ホスト鍵の収集

形式

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

説明

ssh-keyscan は、複数のホストの公開 SSH ホスト鍵を収集するためのユーティリティーです。このユーティリティーは、ssh_known_hosts ファイルの構築および検証を支援するように設計されました。ssh-keyscan は、シェルや Perl スクリプトでの使用に適した最小のインタフェースを提供します。ssh-keyscan の出力は、標準出力にリダイレクトされます。

ssh-keyscan は、非ブロックソケット入出力を使用してできるだけ多くのホストに並列に接続するため、非常に効率的です。一部のホストが停止しているか、または SSH を実行していない場合でも、1,000 のホストから成るドメインからの鍵を数十秒で収集できます。走査のために、走査されているマシンへのログインアクセスも、走査プロセスでの暗号化も必要ありません。

ファイル形式

入力形式:


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 鍵の出力形式:


host-or-namelist bits exponent modulus

rsa および dsa 鍵の出力形式。ここで、keytypessh-rsa または ssh-dsa のどちらかです。


host-or-namelist keytype base64-encoded-key

オプション

サポートしているオプションは、次のとおりです。

–f filename

このファイルからホストまたはアドレスリストと名前リストのペアを読み取ります (1 行に 1 つ)。ファイル名の代わりに - を指定した場合、ssh-keyscan は、ホストまたはアドレスリストと名前リストのペアを標準入力から読み取ります。

–p port

リモートホスト上の接続先のポート。

–T timeout

接続試行のタイムアウトを設定します。ホストへの接続が開始されてから、またはそのホストから任意のデータが最後に読み取られてから timeout 秒が経過すると、その接続は閉じられ、対象のホストは使用不可であると見なされます。timeout のデフォルトは 5 秒です。

–t type

走査されるホストから取得する鍵のタイプを指定します。type の指定可能な値は、プロトコルバージョン 1 の場合は rsa1、プロトコルバージョン 2 の場合は rsa または dsa です。複数の値はコンマで区切って指定します。デフォルトは rsa1 です。

–v

詳細表示モードを指定します。進捗に関するデバッグメッセージを表示します。

–4

強制的に IPv4 アドレスのみを使用します。

–6

強制的に IPv6 アドレスのみを使用します。

セキュリティー

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

使用例 1 rsa1 ホスト鍵の表示

次の例では、マシン hostnamersa1 ホスト鍵を表示します。


$ ssh-keyscan hostname

使用例 2 すべてのホストの検索

次のコマンドは、ソートされたファイル ssh_known_hosts 内の鍵とは異なる鍵や新しい鍵を含むファイル ssh_hosts からすべてのホストを検索します。


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

ファイル

/etc/ssh_known_hosts

公開 SSH ホスト鍵のリストが含まれます。

終了ステータス

次の終了ステータスが返されます。

0

使用方法のエラーはありません。ssh-keyscan が、指定されたホストのうちの 1 つ、それ以上、またはすべての走査に成功したか失敗したかは明確ではありません。

1

使用方法のエラー。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
network/ssh
インタフェースの安定性
確実

関連項目

ssh(1), sshd(1M), attributes(5)

著者

David Mazieres が最初のバージョンを記述し、Wayne Davison がプロトコルバージョン 2 のサポートを追加しました。

バグ

サーバーがバージョン 2.9 よりも古い場合、ssh—keyscan はスキャンするすべてのマシンのコンソールに次のメッセージを生成します:

Connection closed by remote host

これは、ssh-keyscanssh ポートへの接続を開いて公開鍵を読み取り、その鍵を取得するとすぐに接続を解除するためです。