今回から2回に分けて、Windowsサーバのリモート管理について解説する。ここでいうリモート管理とは、離れた場所にあるサーバを対象として、ネットワーク経由で行う各種の管理者向け作業を指している。

なお、リモート管理を行うには相手のサーバ(スタンドアロンサーバの場合)、あるいはActive Directoryドメイン(ドメイン環境の場合)に対して管理者権限を持つユーザーアカウントの資格情報が必要になる。このことは当然の前提としていちいち繰り返さないので、念頭に置いたうえで読み進めていただきたい。

リモート管理の利点と必要性

ネットワークやサーバ管理の仕事をしていると、サーバの設定変更や動作状況確認など、さまざまな管理作業を行わなければならない場面に遭遇する。サーバが目の前にあれば話は簡単だが、常にそういう状況とは限らない。そこで、ネットワーク経由でリモート管理するという需要が発生する。

もちろん、サーバの場所まで出向いてローカルログオンするほうが効率的だが、サーバが遠隔地にある場合、警備が厳しいデータセンターやサーバルームに設置してありアクセスが難しい場合も少なくない。そうした場面でリモート管理が行えれば、最小限の待ち時間で、必要な作業を迅速にこなすことができる。

かつて、UNIXがWindowsに対して優れている点として「何でもtelnetでリモート操作できる」と主張する向きが多かった。間違ってはいないが、ではWindowsではリモート管理ができないのかと言うと、そんなことはない。Windows NTの時代から、いろいろとリモート管理できる機能は存在していた。近年のWindowsでは、さらにそこのところが強化されている。

具体的な方法はいくつかあるが、大別すると「リモートデスクトップを使用する方法」と「個別の管理機能ごとにMMC管理コンソールを使用する方法」に分けられる。前者の場合、管理者が操作するコンピュータの画面上に、リモート管理の対象となるWindowsサーバのデスクトップ画面が現れて、ローカルログオンした時と同じ感覚で操作できる。後者は、個別の管理ツールを起動して、対象として別のサーバを指定してリモート管理を行う形になる。

リモートデスクトップによるリモート管理

まず、リモートデスクトップを用いる方法から説明しよう。いったん接続してしまえばローカルログオンした時と同じ感覚で操作できるので、馴染みやすい方法と言える。そもそも、Windowsサーバを引き合いに出すまでもなく、Windows XP・Windows Vista・Windows 7でも利用できるから馴染み深いだろう。

ちなみに、リモートデスクトップ接続による管理が特に有用なのは、クライアントPCの主力がWindowsではなくMacintoshの場合だ。当然ながら、MacにはMMC管理コンソールはないから、MMC管理コンソールでリモート管理する方法も使えない。しかしOS X用のリモートデスクトップクライアントは無償配布されており、Ver.2.1.0以降であればRDP 6.xに対応しているので、ネットワークレベル認証にも対応している。

Microsoft Remote Desktop Connection Client for Mac 2.1.1
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=68346E0D-44D3-4065-99BB-B664B27EE1F0&displaylang=ja

クライアント版Windowsと同様に、Windows Server 2008でも既定値では安全性を優先しているため、リモートデスクトップ機能は無効になっており、接続しようとしても接続できない。コントロールパネルの[システム]を使用してリモートデスクトップ接続を許可すると、リモートデスクトップクライアントによる接続が可能になる。

(1) [コントロールパネル]で、[システムとセキュリティ]に続いて[システム]を選択する。さらに画面右下の[設定の変更]、あるいは画面左側の[システムの詳細設定]をクリックして、[システムのプロパティ]ダイアログを表示させる。

(2) [リモート]タブに移動して、[リモートデスクトップを実行しているコンピュータからの接続を許可する]または[ネットワークレベル認証でリモート デスクトップを実行しているコンピュータからのみ接続を許可する]のいずれかを選択する。後者のほうが安全性が高くなるが、利用可能なクライアントはRDP 6.xに対応したものに限られる。単純に言えば、クライアントPCのOSがWindows VistaないしはWindows 7であれば、ネットワークレベル認証に対応している。

(3) [OK]をクリックしてダイアログを閉じる。

[システム]で、リモートデスクトップ接続を許可する

この操作により、管理者権限を有するユーザーはリモートデスクトップ接続が可能になる。普通、サーバにリモートデスクトップ接続して管理操作を行うのは管理者だけだから、これで困ることはないだろう。具体的に言うと、Administratorユーザー、Administratorsグループのメンバー、それとActive Directory環境におけるDomain Adminsグループのメンバーが対象だ。

その他のユーザーは、[ユーザーの選択]をクリックして追加することができる。しかし、管理者ではないユーザーに対してサーバへのリモートデスクトップ接続を認める必然性は、まず存在しないのではないだろうか。

前述したように、ネットワークレベル認証を利用するには、リモートデスクトップクライアント側で使用するOSとして、Windows Server 2008、Windows Vista、Windows 7のいずれかが必要になる。Windows XPやWindows Server 2003はネットワークレベル認証に対応していないので、それらを使用する場合は、安全性の低下を忍んでネットワークレベル認証を使用しない選択肢を採らなければならない。

リモートデスクトップクライアントから接続する際の手順は、クライアントPCでリモートデスクトップ接続を行う場合と変わらない。リモートデスクトップクライアントを実行して、接続先としてコンピュータ名、あるいはIPアドレスを入力して[接続]をクリックすればよい。

クライアントのバージョンによって挙動が異なる場合があるが、Windows 7のリモートデスクトップクライアントでは、接続を指示した後でログオン画面を表示する。そこで、対象に対して管理者権限を持つユーザー名とパスワードを指定して接続する仕組みだ。この時、Active Directoryの環境ではドメインアカウントを指定する必要があるので、ユーザー名だけを入力するのではなく、「<ドメイン名>\<ユーザー名>」形式で入力しなければならない。

Windows 7のリモートデスクトップクライアントで、接続先を指定して[接続]をクリックしているところ。これは[オプション]をクリックしてダイアログを拡大した時のもの。他のタブで、画面サイズや色数などの設定も変更できる。[接続]をクリックすると、ユーザー名とパスワードを入力する画面を表示する

ところが、それに対しOS X版のリモートデスクトップクライアントでは、事前に環境設定画面でユーザー名・パスワード・ドメイン名を指定しておくようになっている。

余談だが、そもそもリモートデスクトップとは、ターミナルサービスから派生した機能である。いずれ取り上げるつもりだが、ターミナルサーバ機能を動作させていれば、それを使ってサーバをリモート管理することもできる。しかし、リモート管理だけなら現在はリモートデスクトップで用が足りるので、かつてのようにターミナルサービスを追加する必要はなくなった。そしてWindows Server 2008 R2ではとうとう、ターミナルサービスからリモートデスクトップサービスに看板を架け替えてしまったのだから、軒先を貸して母屋を取られた感がある。

なお、インターネットに直結して運用しているサーバでは、セキュリティ上のリスクを考慮すると、リモートデスクトップの使用は避けたほうがよいだろう。ユーザーアカウントとパスワード以外に、不正侵入を防ぐための防壁がないからだ。