GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu で ssh-keyscan を使用する方法

ssh-keyscan は、利用可能な公開情報を収集するための非常に便利なツールです複数のホストからのキー。このツールの主な目的は、known_hosts を使用することです。 ファイル。ノンブロッキング ソケット I/O は、このツールで最大数のホストに並列接続するために使用されます。このツールを使用すると、多数のホストの重要な情報をすばやく収集できますが、一部のホストは使用できないか、SSH を使用していない可能性があります。 ssh-keyscan では、キーをスキャンするコンピューターにログオンする必要はありません。

構文:

ssh-keyscan 構文を以下に示します。キースキャンの複数のオプションをサポートしています。

ssh-keyscan [-46cHv] [-f ファイル] [-p ポート] [-T タイムアウト] [-t タイプ] [ホスト | addrlist namelist] …

ssh-keysan の他のオプション:

さまざまな ssh-keyscan オプションの使用法を以下に説明します。

機会 目的
-4 ssh-keyscan に強制的に IPv4 アドレスのみを使用させるために使用されます。
-6 ssh-keyscan に強制的に IPv6 アドレスのみを使用させるために使用されます。
-C ターゲット ホストから証明書を要求するために使用されます。
-f ファイル ファイルからホストまたは「adrlist namelist」のペアを取得するために使用されます。
-H 出力内のすべてのホスト名とアドレスをハッシュするために使用されます。
-p ポート リモート ホストを特定のポートに接続するために使用されます。
-T タイムアウト 接続試行のタイムアウトを設定するために使用されます。デフォルトのタイムアウト値は 5 です。
-t タイプ スキャンされるホストから取得されるキーのタイプを定義するために使用されます。タイプ値は、rsa、dsa、ecdsa などです。
-v スキャンの進行状況に関するデバッグ メッセージを出力するために使用されます。

ssh-keyscan コマンドの最も一般的に使用されるオプションは、このチュートリアルの次の部分に示されています。

要件:

このチュートリアルの次の部分を開始する前に、1 つ以上の SSH キー ペアを作成して、このチュートリアルで使用するコマンドをテストする必要があります。 ssh-keyscan コマンドを実行する前に、次のことを行ってください。

<オール>
  • まだ有効になっていない場合は、Ubuntu で SSH サービスを有効にします。ここでは、クライアント コンピューターとサーバー コンピューターとして 2 つのローカル Ubuntu ユーザー アカウントが使用されました。
  • ssh-keygen を使用して、サーバー コンピュータで複数の SSH キー ペアを生成します。 公開鍵と秘密鍵を作成するコマンド。秘密鍵はリモート サーバーに保存され、公開鍵はクライアントに安全に保存されます。
  • 次に、公開鍵をクライアント マシンに追加します。
  • キーをスキャンするには、いくつかの方法で ssh-keyscan を実行します。

    このチュートリアルで使用されている ssh-keyscan コマンドを確認するには、クライアント マシンにログインする必要があります。まず、次のことを行います:ssh-keyscan IP アドレス 10.0.2.15 からすべての公開鍵を読み取るオプションのないコマンド。コマンドの出力は、コマンドで使用される IP アドレスまたはホスト名によって異なる場合があります。コマンドでキー タイプが定義されていないため、スキャン中に見つかったすべてのキーが取得されます。

    $ ssh キースキャン 10.0.2.10

    出力は、上記のコマンドが B. rsa、ecdsa、ed25519 などのさまざまなキーをスキャンしていることを示しています。

    次の ssh-keyscan を実行します ポート番号 22 の IP アドレス 10.0.2.15 からすべての公開鍵を読み取る -p オプション付きのコマンド。前のコマンドと同様に、コマンドの出力は、コマンドで使用される IP アドレスまたはホスト名に基づいて異なる場合があります。

    $ ssh-keyscan -P 22nd 10.0.2.15

    出力には、上記のコマンドでポート番号 22 でスキャンされたさまざまなキーが表示されます。このチュートリアルのすべての ssh-keyscan コマンドは、ポート番号 22 のみをサポートするローカル サーバーで実行されました。そのため、オプションを使用しない場合と -p オプションを使用した場合の ssh-keyscan コマンドの出力は同じです。

    次の ssh-keyscan を実行します その -t でコマンド rsa のすべての公開鍵を読み取るオプション IP アドレスから 10.0.2.15 を入力します。前のコマンドと同様に、コマンドの出力は、コマンドで使用される IP アドレスまたはホスト名によって異なる場合があります。すべての種類の公開鍵は、前の 2 つのコマンドでそれぞれの IP アドレスから取得されました。ただし、ここで使用されるコマンドの出力は、すべての rsa-key 関連情報のみをフェッチします。

    $ ssh-keyscan -T rsa 10.0.2.15

    次の出力は、1 つの rsa があることを示しています。 IP アドレス 10.0.2.15 に存在する公開鍵。

    known_hosts を更新する場合 それぞれのホスト名または IP アドレスのフィンガープリントを含むファイル。-H が必要です ssh-keyscan のオプション 指示。次のコマンドを実行して known_hosts を更新します パス ~ / .ssh / known_hosts にあるファイルで、スキャンされた指紋が IP アドレス 10.0.2.15 にあります。

    $ ssh-keyscan -H 10.0.2.15>> ~/.ssh/known_hosts

    次の出力は、known_hosts に 5 つのエントリが追加されたことを示しています。 ファイル。

    複数のオプションを ssh-keyscan コマンドで使用できます。次のコマンドを実行して rsa を取得します known_hosts からのキー 出力をファイルして 並べ替え に送信します。 rsa の一意のソート値を出力するコマンド 鍵。 2 つのオプションが使用されました ssh-keyscan 指示。 -T rsa を変更するためにオプションが使用されました キーと -F known_hosts からキーを取得するためにオプションが使用されました ファイル。パイプ (|) はコマンドを使用して rsa を取得しました sort コマンドのファイルからのキー。

    $ ssh-keyscan -T rsa -F ~/.ssh/known_hosts | -u ~/.ssh/known_hosts でソート

    次の出力は、known_hosts ファイルから 4 つの rsa キーが取得され、キーがソートされた順序で出力されたことを示しています。

    卒業証書:

    このチュートリアルでは、ssh-keyscan コマンドを使用してクライアント コンピューターから公開キーをスキャンするためのさまざまなオプションについて、localhost の 2 つのローカル アカウントを使用して説明しました。同じプロセスを実行して、リモート ホストの公開鍵をスキャンできます。


    Ubuntu
    1. LinuxでSuコマンドを使用する方法

    2. UbuntuLinuxで稼働時間コマンドを使用する方法

    3. Ubuntu で netplan コマンドを使用する方法

    1. UbuntuLinuxでtailコマンドを使用する方法

    2. Ubuntu で string コマンドを使用する方法

    3. Ubuntu で ssh-agent を使用する方法

    1. vmstatコマンドの使用方法

    2. Ubuntuでユーザーを削除する方法

    3. Ubuntu18.04でホスト名を変更する方法