ホーム > ネットワーク管理 > ssh-keyscan

ssh-keyscan: SSHホストキーの収集

SSHサーバーの公開ホストキーを収集するユーティリティです。収集されたキーは`~/.ssh/known_hosts`ファイルに追加され、SSHクライアントがサーバーに接続する際にサーバーの身元を確認できるようになります。これは中間者攻撃(Man-in-the-Middle attack)を防ぐ上で重要な役割を果たします。

概要

ssh-keyscanは、1つ以上のホストから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`ファイルに1行に1つずつホスト名がリストされている場合、そのファイル内のすべてのホストキーをスキャンします。

特定のキータイプのみをスキャン

ssh-keyscan -t rsa,ecdsa example.com

RSAおよびECDSAキータイプのみを収集します。

ヒントと注意点

ssh-keyscanを使用する際の役立つヒントと注意すべきセキュリティ事項です。

セキュリティ上の考慮事項

  • 収集したキーが常に信頼できるソースから提供されたものであることを確認してください。特に初めて接続するサーバーの場合、サーバー管理者からキーのフィンガープリントを直接確認するのが最も安全です。
  • `known_hosts`ファイルは機密情報であるため、適切なファイル権限(通常は600)で保護する必要があります。
  • `ssh-keyscan`はサーバーの公開キーのみを収集し、サーバーへの認証を試みません。したがって、サーバーへのアクセス権限がなくてもキーを収集できます。

自動化スクリプトでの活用

新しいサーバーをプロビジョニングしたり、大規模な環境で`known_hosts`ファイルを中央管理したりする際に、`ssh-keyscan`を自動化スクリプトに含めて使用できます。これにより、手動でキーを追加する手間を省き、一貫したセキュリティポリシーを維持できます。


同じカテゴリのコマンド