Solaris のシステム管理 (セキュリティサービス)

Procedureホストに基づく認証を Solaris Secure Shell に設定する方法

次の手順によって公開鍵システムが設定され、クライアントの公開鍵がサーバー上での認証に使用できるようになります。また、ユーザーは、公開鍵と非公開鍵のペアを作成する必要があります。

この手順での「クライアント」および「ローカルホスト」という用語は、ユーザーが ssh コマンドを入力するマシンを指しています。「サーバー」および「リモートホスト」という用語は、クライアントがアクセスを試みるマシンを指しています。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. クライアントで、ホストに基づく認証を有効にします。

    クライアントの構成ファイル /etc/ssh/ssh_config で、次のエントリを入力します。


    HostbasedAuthentication yes

    このファイルの構文については、ssh_config(4) のマニュアルページを参照してください。

  3. サーバーで、ホストに基づく認証を有効にします。

    サーバーの構成ファイル /etc/ssh/ssh_config で、同じエントリを入力します。


    HostbasedAuthentication yes

    このファイルの構文については、sshd_config(4) のマニュアルページを参照してください。

  4. サーバーで、クライアントが信頼されるホストとして認識されるようにするファイルを構成します。

    詳細については、sshd(1M) のマニュアルページの「FILES」のセクションを参照してください。

    • サーバーの /etc/ssh/shosts.equiv ファイルへのエントリとしてクライアントを追加します。


      client-host
      
    • または、クライアント用のエントリをサーバー上の ~/.shosts ファイルに追加するようにユーザーに指示することもできます。


      client-host
      
  5. サーバーで、sshdデーモンが信頼されるホストのリストにアクセスできるようにします。

    /etc/ssh/sshd_config ファイルで、IgnoreRhostsno に設定します。


    ## sshd_config
    IgnoreRhosts no
  6. 使用するサイトの Solaris Secure Shell のユーザーが両方のホストでアカウントを持つようにします。

  7. クライアントの公開鍵をサーバー上に置くために、次のどちらかを行います。

    • サーバー上の sshd_config ファイルを変更後、クライアントの公開ホスト鍵を ~/.ssh/known_hosts ファイルに追加するようにユーザーに指示します。


      ## sshd_config
      IgnoreUserKnownHosts no

      ユーザーへの指示については、「Solaris Secure Shell で使用する公開鍵と非公開鍵のペアを生成する方法」を参照してください。

    • クライアントの公開鍵をサーバーにコピーします。

      ホスト鍵は、/etc/ssh ディレクトリに格納されます。鍵は、通常、最初のブート時に sshd デーモンによって生成されます。

      1. サーバー上の /etc/ssh/ssh_known_hosts ファイルに鍵を追加します。

        クライアントで、バックスラッシュなしで 1 行に次のコマンドを入力します。


        # cat /etc/ssh/ssh_host_dsa_key.pub | ssh RemoteHost \
        'cat >> /etc/ssh/ssh_known_hosts && echo "Host key copied"'
        
      2. プロンプトが表示されたら、ログインパスワードを入力します。

        ファイルがコピーされると、「Host key copied」というメッセージが表示されます。

        /etc/ssh/ssh_known_hosts ファイルの各行は、スペースで区切られたフィールドで構成されています。


        hostnames algorithm-name publickey comment
        
      3. /etc/ssh/ssh_known_hosts ファイルを編集して、コピーしたエントリの最初のフィールドとして RemoteHost を追加します。


        ## /etc/ssh/ssh_known_hosts File
        RemoteHost <copied entry>
        

例 19–1 ホストに基づく認証を設定する

次の例では、各ホストがサーバーおよびクライアントとして構成されます。一方のホストのユーザーが、他方のホストへの ssh 接続を開始できます。次の構成によって、各ホストがサーバーおよびクライアントになります。