Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos OS ユーザーの Salt を認証する方法

Junos OS ユーザー認証用 Salt の概要

Salt を使用して Junos OS を実行しているデバイスを管理する場合、Junos プロキシ ミニオンは ZeroMQ イベント バスを使用して Salt マスターに接続し、Juniper Junos PyEZ ライブラリを 使用して、Junos OS を実行するデバイスと SSH を介した NETCONF セッションを確立します。管理対象デバイスは、接続方法に応じて、パスワードまたはその他の標準的な SSH 認証メカニズムを使用して Salt ユーザーを認証できる必要があります。Salt を使用して Junos OS を実行しているデバイスを管理する場合、デバイスにアクセスするための最も便利で安全な方法は SSH キーを設定することです。これにより、リモート デバイスで信頼できるユーザーを識別できます。または、特定のデバイスのプロキシ設定ファイルでユーザー名とパスワード認証資格情報を指定することもできます。

Salt を使用して Junos OS を実行しているデバイスに接続し、管理するには、Salt マスター上のピラー ファイルのキーの下 proxy で、デバイスに必要な接続と認証情報を定義します。を指定 proxytype: junosすると、Junos PyEZ Device() コンストラクターで指定できるピラー データで、同じ接続および認証パラメーターの多くを定義できます。

次の柱ファイルの例は、指定proxytype: junosした場合のキーの下で定義できる一般的な接続と認証パラメーターをproxy示しています。表 1 は、パラメータの概要を示しています。

表 1:Junos プロキシー パラメーター

パラメーター

説明

host: hostname

Junos OS を実行するデバイスのホスト名または IP アドレス。

password: secret

Junos OS を実行するデバイスの認証に使用するユーザーまたはユーザーの SSH プライベート キー ファイルの秘密鍵の秘密鍵の使用使用。

port: port

Junos OS を実行するデバイスへの接続を確立するポート。

proxytype: junos

Salt が Junos プロキシ モジュールを使用して、Junos OS を実行しているデバイスとインターフェイスするように指定します。

ssh_config: file-path

プロキシ ミニオン サーバー上の Salt ユーザーの SSH 設定ファイルへのパス。SSH設定ファイルがデフォルトパスにある場合、このパラメーターを省略できます。

ssh_private_key_file: file-path

Junos プロキシが Junos OS を実行するデバイスの認証に使用するプロキシ ミニオン サーバー上の Salt ユーザーの SSH プライベート キー ファイルへのパス。ユーザーのSSHキーファイルがデフォルトパスにある場合、またはパスがSSH設定ファイルで既に定義されている場合は、このパラメーターを省略できます。

username: user

Junos OS を実行するデバイスの認証に使用され、Junos OS アカウント権限の下で Salt 操作が実行されるユーザー名。

Salt は、Junos OS を実行している管理対象デバイスにアクセスできる任意のユーザー アカウントを使用して、デバイス操作を実行できます。Junos OSを実行している特定のデバイスのプロキシ設定に パラメーターを含 username めることで、ユーザーを明示的に指定できます。SSH設定ファイル内でユーザーを指定することもできます。ユーザーを指定しない場合、デフォルトは現在のユーザーになります。

Junos PyEZ を介した Salt 接続は、プロキシ ミニオン サーバー上の ~/.ssh/config にあるユーザーのデフォルト SSH 設定ファイル(存在する場合)に自動的にクエリーを実行します。ただし、そのデバイスのプロキシ設定に異なる設定ファイルを指定する引数が含まれている ssh_config 場合は除きます。Salt は、ユーザーやアイデンティティ ファイルなど、そのデバイスのプロキシ設定で定義されたパラメーターによって上書きされない特定の接続に対して SSH 設定ファイル内の関連する設定を使用します。

Junosプロキシは、まずSSHパブリックキーベースの認証を試み、次にパスワードベースの認証を試みます。Junosプロキシは、SSHキーエージェントにアクティブにロードされているSSHキーを確認し、デフォルトの場所でSSHキーを確認します。SSHキーが使用されている場合、秘密鍵のロックを解除するための秘密鍵の秘密鍵を秘密鍵の鍵を解除するための秘密鍵を秘密鍵の秘密鍵として使用します。パスワードベースの認証を使用する場合、提供されたパスワードがデバイスのパスワードとして使用されます。SSH公開鍵ベースの認証が使用されており、SSHプライベートキーに秘密鍵の秘密鍵が空の秘密鍵を使用している場合、パスワードは必要ありません。ただし、秘密鍵の秘密鍵を空の秘密鍵で使用することは推奨しません。

Salt マスターでは、柱の一番上のファイルは、デバイスのプロキシ設定を含む柱ファイルにプロキシ ID をマッピングします。

Junos OSを実行するデバイスのJunosプロキシミニオンプロセスを開始し、Saltマスターでキーを認証すると、設定された認証方法を使用して接続します。

Salt サーバーの設定の詳細については、「 Junos OS 用 Salt をインストールする方法」を参照してください。

パスワードを使用した Salt ユーザーの認証

パスワードを使用して Salt ユーザーを認証するには、

  1. Junos OS を実行するデバイスで、デバイスへの接続に使用するパスワードでユーザー アカウントを設定し、設定をコミットします。例えば:
  2. Salt マスターでは、デバイスのプロキシ設定を含むピラー ファイルで、そのデバイスの Junos OS ログイン認証情報に および password パラメーターを設定usernameします。
    メモ:

    機密データを Salt に安全に保存する方法については、「 https://docs.saltstack.com/en/latest/topics/best_practices.html#storing-secure-data」を参照してください。

SSHキーを使用した Salt ユーザーの認証

SSH キーを使用して Salt ユーザーを認証するには、まず Salt プロキシ ミニオン サーバーでキーを生成し、Salt が接続する Junos OS を実行する各デバイスでパブリック キーを設定する必要があります。キーを使用するには、Salt マスター上のデバイスのプロキシ設定に適切なパラメーターを含める必要があります。Junos PyEZを介した Salt 接続では、SSHキーエージェントにアクティブにロードされるSSHキー、デフォルトの場所またはユーザーが定義した場所で生成されるSSHキー、パスワード保護を使用または目的とするキーを使用できます。Junosプロキシは、まず、SSHキーエージェントにアクティブにロードされているSSHキーを確認し、次にユーザーの.sshディレクトリの下のデフォルトの場所にある SSH キーを確認します。

以下のセクションでは、SSHキーを生成する手順、Junos OSを実行するデバイスでキーを設定する手順、キーを使用して管理対象デバイスに接続する手順について説明します。

SSHキーの生成と設定

SaltプロキシミニオンサーバーでSSHキーを生成し、Junos OSを実行するデバイスでパブリックキーを設定するには:

  1. Saltプロキシミニオンサーバーで、目的のユーザーに対してパブリックおよびプライベートSSHキーペアを生成し、必要なオプションまたは必要なオプションを提供します
  2. (オプション)OSおよびエージェントに固有のコマンドを使用して、ネイティブSSHキーエージェントにキーを読み込みます。例えば:
  3. Salt が接続する Junos OS を実行する各デバイスで、適切なユーザー アカウントで公開キーを設定します。

    Junos OSを実行するデバイスでパブリックキーを設定する最も簡単な方法は、公開キーを含むファイルを読み込むことです。

  4. キーを使用してデバイスにログインすることで、キーが機能することを確認します。

Salt Proxy 設定ファイルでの SSH キーの参照

Junos OSを実行している管理対象デバイスでSSHキーペアを生成し、パブリックキーを設定した後、Junosプロキシはキーを使用してデバイスに接続できます。キーを使用するには、Salt マスター上のデバイスのプロキシ設定に適切なパラメーターを含める必要があります。必須 proxytype および host パラメーターに加えて、SSHキーを使用するために必要なパラメーターは、キーの場所、キーがパスワードで保護されているかどうか、キーがSSHキーエージェントにアクティブに読み込まれているかどうか、ユーザーのSSH設定ファイルがすでにそのホストの設定を定義しているかどうかによって決定されます。

Junosプロキシは、プロキシミニオンサーバーのデフォルトSSH設定ファイルが存在する場合、そのデバイスssh_configのプロキシ設定に異なる設定ファイルを指定する引数がない限り、デフォルトのSSH設定ファイル(~/.ssh/config)をクエリーします。Salt は、そのデバイスのプロキシ設定で定義されたパラメーターによって上書きされない特定の接続に対して、SSH 設定ファイル内の関連する設定を使用します。デバイスに接続する際、Junosプロキシは最初にSSHキーエージェントにアクティブにロードされているSSHキーを確認し、ユーザーの.sshディレクトリの下のデフォルトの場所でSSHキーを確認します。

ネイティブSSHキーエージェントにアクティブに読み込まれているSSHキーを使用するには:

  • デバイスのプロキシ設定を含むピラー ファイルで、パラメータを定義する username 必要があります。

デフォルトの場所にあり、パスワード保護のないSSHキーを使用するには:

  • デバイスのプロキシ設定を含むピラーファイルでは、デバイスの認証にキーが使用されているユーザーにデフォルトではない場合にのみ、 パラメーターを指定 username する必要があります。

デフォルトの場所にない、またはパスワード保護を使用するSSHキーを使用するには:

  • デバイスのプロキシ設定を含むピラーファイルで、 ssh_private_key_file プロキシミニオンサーバー上のSSHプライベートキーのパスにパラメータを設定し、キーがパスワードで保護されている場合は、SSHキーファイルのパスワードにパラメータを設定 password します。

    メモ:

    ユーザーのSSH設定ファイルが特定のホストのSSHプライベートキーファイルパスをすでに指定している場合、プロキシ設定で パラメーターを ssh_private_key_file 省略できます。このパラメータを ssh_private_key_file 含めると、SSH設定ファイル内のホストに定義されている既存 IdentityFile の値が上書きされます。