sudo を使用した昇格と SSH キーの構成

 

発行: 2016年3月

適用対象: System Center 2012 R2 Operations Manager,System Center 2012 - Operations Manager,System Center 2012 SP1 - Operations Manager

System Center 2012 – Operations Manager では、UNIX または Linux コンピューターで sudo プログラムを使用して昇格する特権のないアカウントの資格情報を指定できるようになりました。これにより、ユーザーは別のユーザー アカウントのセキュリティ特権を持つプログラムの実行が可能になります。 また、Operations Manager とターゲット コンピューターの間のセキュアな通信に、パスワードの代わりに SSH (Secure Shell) キーも使用できます。

このトピックでは、低い特権のユーザーのアカウントを作成する、sudo を実装すること、および Red Hat Enterprise Linux Server 6 を実行しているコンピューターに SSH キーを作成する例を示します。 これらは、単なる例であり、お客様の環境を反映しないことがあります。 次の例は、完全な特権セットへのアクセス権限をユーザーに提供します。

UNIX および Linux サーバーから SSH キーを取得して構成するには、お使いの Windows ベースのコンピューターに次のソフトウェアをインストールする必要があります。

  • UNIX または Linux コンピューターから Windows ベースのコンピューターにファイルを転送するための、WinSCP などのファイル転送ツール。

  • UNIX または Linux コンピューターでコマンドを実行するための PuTTY プログラムまたは同様のプログラム。

  • Windows ベースのコンピューターに OpenSSH 形式で SHH 秘密キーを保存するための PuTTYgen プログラム。

[!メモ]

sudo プログラムは UNIX および Linux オペレーティング システムのさまざまな場所に存在します。 sudo への一様なアクセスを提供するために、UNIX および Linux エージェント インストール スクリプトは、シンボリック リンク /etc/opt/microsoft/scx/conf/sudodir を作成し、sudo プログラムの格納用のディレクトリを指します。 エージェントはこのシンボリック リンクを使用して sudo を呼び出します。 インストール スクリプトは自動的にシンボリック リンクを作成するので、UNIX および Linux の標準構成ではユーザーによる操作は必要がありません。ただし、非標準的な場所に sudo をインストールした場合は、sudo がインストールされているディレクトリを指すようにシンボリック リンクを変更します。 シンボリック リンクを変更する場合、アンインストール、再インストール、およびアップグレード操作にわたって、その値はエージェントで保持されます。

低い特権のアカウントを sudo で昇格するように構成する

次の手順では、opsuser をユーザー名に使用して低い特権のアカウントと sudo による昇格を作成します。

低い特権のユーザーを作成するには

  1. root として UNIX または Linux コンピューターにログオンします。

  2. ユーザーを追加します。

    useradd opsuser

  3. パスワードを追加して確認します。

    passwd opsuser

この時点で、次に説明する手順で opsuser に対して sudo による昇格を構成し SSH キーを作成できます。

低い特権のユーザーの sudo による昇格を構成するには

  1. root として UNIX または Linux コンピューターにログオンします。

  2. visudo プログラムを使用して vi テキスト エディターで sudo の構成を編集します。 次のコマンドを実行します。

    visudo

  3. 次の行を見つけます。

    root ALL=(ALL) ALL

  4. その後に以下の行を挿入します。

    opsuser ALL=(ALL) NOPASSWD: ALL

  5. TTY 割り当てはサポートされていません。 以下の行がコメント アウトされていることを確認します。

    # Defaults requiretty

    System_CAPS_important重要

    これは sudo の動作に必須の手順です。

  6. ファイルを保存して visudo を終了します。

    ESC キーと : (コロン) を押し、wq! を入力して Enter キーを押します。

  7. 次の 2 つのコマンドを入力して構成をテストします。 パスワードの入力を求められずに、ディレクトリの一覧が表示されるはずです。

    su - opsuser

    sudo ls /etc

Operations Manager ウィザードで資格情報を指定し、実行アカウントを構成するためのパスワードと sudo による昇格を使用して、opsuser アカウントを使用できます。

認証用の SSH キーを作成する

次の手順では、前の例で作成した opsuser アカウント用に SSH キーを作成します。

SSH キーを生成するには

  1. opsuser としてログオンします。

  2. デジタル署名アルゴリズム (DSA) を使用してキーを生成します。

    ssh-keygen –t dsa

    オプションのパスフレーズを指定した場合は、メモします。

ssh-keygen により、秘密キー ファイル (/home/opsuser/.ssh) および公開キー ファイル (id_dsa) で id_dsa.pub ディレクトリが作成されます。 次の手順で、opsuser によりサポートされるようにキーを構成できます。

SSH キーをサポートするようにユーザー アカウントを構成するには

  1. コマンド プロンプトでは、次のコマンドを入力します。 ユーザー アカウント ディレクトリに移動します。

    cd /home/opsuser

  2. ディレクトリへの排他的な所有者アクセスを指定します。

    chmod 700 .ssh

  3. .ssh ディレクトリに移動します。

    cd .ssh

  4. 公開キーで承認済みキー ファイルを作成します。

    cat id_dsa.pub >> authorized_keys

  5. 承認済みキー ファイルの読み取りおよび書き込みアクセス許可をユーザーに付与します。

    chmod 600 authorized_keys

ここで、次の手順で SSH 秘密キーを Windows ベースのコンピューターにコピーできます。

SSH 秘密キーを Windows ベースのコンピューターにコピーして OpenSSH 形式で保存するには

  1. WinSCP のようなツールを使用して、秘密キー ファイル (id_dsa – 拡張子なし) を UNIX または Linux コンピューターから Windows ベースのコンピューター上のディレクトリに転送します。

  2. PuTTYgen を実行します。

  3. PuTTY Key Generator ダイアログ ボックスで、] をクリックして、 負荷 ボタンをクリックし、秘密キーを選択し、 (id_dsa)、UNIX または Linux コンピューターから転送しました。

  4. [Save private key](秘密キーを保存) をクリックして、名前を付けファイルを目的のディレクトリに保存します。

Operations Manager ウィザードで資格情報を指定し、実行アカウントを構成するための SSH キーと sudo による昇格を使用して、opsuser アカウントを使用できます。