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

Solaris Secure Shell の構成

Solaris Secure Shell では、デフォルトでは、ホストに基づく認証と両方のプロトコルの使用は無効になっています。これらのデフォルトを変更するには、管理者の介入が必要です。また、ポート転送が機能するようにするためにも、管理者の介入が必要です。

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 接続を開始できます。次の構成によって、各ホストがサーバーおよびクライアントになります。


ProcedureSolaris Secure Shell v1 を有効にする方法

この手順は、ホストが v1 および v2 を実行するホストと相互運用されるときに役立ちます。

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

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

  2. 両方の Solaris Secure Shell のプロトコルを使用するホストを構成します。

    /etc/ssh/sshd_config ファイルを編集します。


    # Protocol 2
    Protocol 2,1
  3. v1 のホスト鍵用に別ファイルを指定します。

    HostKey エントリを /etc/ssh/sshd_config ファイルに追加します。


    HostKey /etc/ssh/ssh_host_rsa_key
    HostKey /etc/ssh/ssh_host_dsa_key
    HostKey /etc/ssh/ssh_host_rsa1_key
    
  4. v1 のホスト鍵を生成します。


    # ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_rsa1_key -N ''
    
    -t rsa1

    v1 の RSA アルゴリズムを示します

    -f

    ホスト鍵を保持するファイルを示します。

    -N ''

    パスフレーズが必要ないことを示します。

  5. sshd デーモンを再起動します。


    # svcadm restart network/ssh:default
    

    システムをリブートしても構いません。

ProcedureSolaris Secure Shell のポート転送を構成する方法

ポート転送によって、ローカルポートを遠隔ホストに転送することができるようになります。指定すると、ソケットはローカル側で、そのポートを待機します。また、遠隔側のポートを指定することもできます。


注 –

Solaris Secure Shell ポート転送では TCP 接続を使用する必要があります。Solaris Secure Shell はポート転送のための UDP 接続をサポートしていません。


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

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

  2. ポート転送ができるように遠隔サーバーで Solaris Secure Shell の設定を構成します。

    /etc/ssh/sshd_config ファイルで AllowTcpForwarding の値を yes に変更します。


    # Port forwarding
    AllowTcpForwarding yes
  3. Solaris Secure Shell サービスを再起動します。


    remoteHost# svcadm restart network/ssh:default
    

    永続的なサービスの管理方法については、『Solaris のシステム管理 (基本編)』の第 18 章「サービスの管理 (概要)」および svcadm(1M) のマニュアルページを参照してください。

  4. ポート転送が使用できることを確認します。


    remoteHost# /usr/bin/pgrep -lf sshd
     1296 ssh -L 2001:remoteHost:23 remoteHost