Windows サーバーでの Cygwin の構成

Cygwin がインストールされた後、CYGWIN sshd を自動サービスとして実行するように構成し、サービスを開始して、Windows システム上のリモート・サーバーにログインする Cygwin 環境のユーザー・アカウントとユーザー・グループを更新する必要があります。

このタスクについて

ワークベンチで正しく動作するように Cygwin 環境を構成するには、次の手順で行います。

手順

  1. 「マイ・コンピューター」を右クリックし、「プロパティー」 > 「詳細」 > 「環境変数」をクリックして、PATH 変数を変更し、新規環境変数を作成します。ユーザー変数またはシステム変数のいずれかのセクションで、以下のようにします (このマシンを使用するアカウントが Cygwin を使用できる場合は、システム変数を使用します)。
    1. PATH 変数を選択し、「編集」をクリックして、;c:cygwin¥bin を既存の変数ストリングの末尾に付加します。
    2. 「新規」をクリックして、CYGWIN という名前の新規環境変数を追加します。「変数名」テキスト・ボックスに CYGWIN と入力し、「変数値」テキスト・ボックスに binmode tty ntsec と入力します。
    3. 「マイ・コンピューター」ウィンドウが閉じるまで「OK」をクリックして、変更内容を保存します。
  2. Cygwin を開始します。Cygwin をインストールしたときにショートカットが作成されていた場合は、デスクトップ上のショートカットをダブルクリックすることができます。 コマンド・ウィンドウが開きます。
  3. $ プロンプトの後に ssh-host-config と入力して、ssh-host-config コマンドを実行します。

    デフォルトでは、OpenSSH 3.3 以降のバージョンが使用される場合、特権の分離は「はい」に設定されています。特権の分離オプションを「いいえ」に指定し、sshd サーバー・アカウントを使用する公開鍵認証を許可するようにサービスを設定します。

    以下のように表示されるプロンプトに応答します。

    1. 「照会: 特権の分離を使用しますか?」と尋ねられたら、no と入力します。
    2. 「照会: sshd をサービスとしてインストールしますか?」と尋ねられたら、使用する環境に基づいて適切な応答を入力します。
      • sshd をサービスとしてインストールするには、yes と入力します。
      • sshd が既にサービスとしてインストールされている場合は、no と入力します。
    3. 「照会: デーモン [ntsec] の CYGWIN の値を入力してください」と尋ねられたら、ntsec tty と入力します。
  4. sshd サービスを開始します。Windows コマンド・プロンプトで net start sshd と入力するか、または bash プロンプトで cygrunsrv -start sshd と入力します。 sshd サービスが実行していることを確認するには、ps -a と入力して、/usr/sbin/sshd が実行中のプロセスのリストに存在することを確認するか、または「コントロール パネル」 > 「管理ツール」 > 「サービスの制御」をクリックしてこの確認を行うことができます。

    サービスを停止するには、Windows コマンド・プロンプトで、net stop sshd と入力します。あるいは、C:¥cygwin¥bin ディレクトリーに変更して (または bash シェルを開いて)、cygrunsrv -stop sshd と入力します。

  5. サービスを開始後、bash プロンプトで次の情報を入力してサービスをテストします: ssh localhost -l your_username。localhost の認証性を確立できないことが通知され、「接続を続行しますか?」と尋ねられたら、yes と入力します。 localhost 上のユーザー・アカウントのパスワードのプロンプトが出されたら、コンピューターにログオンするときに使用したパスワードを入力します。
  6. コンピューターにログインできるアカウントを作成します。
    1. まず Windows アカウントを作成します。「スタート」 > 「設定」 > 「コントロール パネル」 > 「ユーザー アカウント」をクリックします。各ユーザーを Administrators グループのメンバーにします。 追加するユーザーごとにこのステップを完了してから、対応する Cygwin アカウントを作成します。
    2. /etc/passwd ファイルのバックアップ・コピーを作成します。
    3. Cygwin 環境のユーザー・アカウントとオペレーティング・システムのユーザー・リポジトリーを同期化します。次のコマンドを実行します。mkpasswd -l > /etc/passwd
    4. ユーザーおよびグループが Cygwin 環境で同期化したら、sshd サービスを停止して開始します。 sshd サービスは、サービスが再開された場合にのみ /etc/passwd を読み取ります。これよって、ユーザーのアカウントが認識されます。
    5. アカウントのグループを作成する必要がある場合は、まず Windows グループを作成します。その後、Cygwin ユーザー・グループを同期化します。Windows グループを作成した後、次のコマンドを実行します。mkgroup -l > /etc/passwd グループを追加したら、sshd サービスを停止してから開始して、新規グループを認識されるようにする必要があります。
  7. Cygwin sshd サービスが、自動的に開始されるサービスとして追加されていることを確認します。この検証を完了するには、「スタート」 > 「設定」 > 「コントロール パネル」 > 「管理ツール」 > 「サービス」をクリックします。

フィードバック