2012年11月17日

「さくらのVPS」によるクラウドPC環境構築 (3)

前記事に続つづいて、「さくらのVPS」によるクラウドPC環境の構築について書く。

今回は、VNC(Virtual Network Computing)環境を構築する。VNCというのは、ネットワーク上の離れたコンピュータを遠隔操作しながら使うことで、リモート・コンピュータに接続するために、クライアント側では専用のソフトを使用する。VNCで使われるのはRFB(Remote Frame Buffer) というプロトコルで、VNCサーバとVNCクライアントはこのプロトコルを使って画面イメージをやり取りする。

●Ubuntu Desktop環境を導入する

ここまでコンソールによるCUI環境でサーバ・マシンを使ってきたが、VNC環境を構築するにあたって、サーバ・マシンにGUI環境を導入する。GUIの方が圧倒的に操作が楽だし、VNC自体がGUIでリモート・マシンを操作・使用することを前提としているからだ。

サーバにログインし、次のコマンドを実行して、ubuntu-desktopパッケージをインストールしよう。
 $ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install ubuntu-desktop

最初の2つのコマンドは、すでにインストール済みの全パッケージを最新版にアップデートするために実行している。セキュリティパッチをすべて適用するために、Ubuntuのインストール後に、これらのコマンドを必ず一度は実行した方が良い。

●VNCサーバ環境を構築する。

続いて、仮想サーバのUbuntu Server 12.04上にVNCサーバ環境を構築する。Linuxで利用できるVNCサーバは数種類存在するようだが、Ubuntu 12.04ではx11vncがデフォルトらしい。

x11vncを入れることは必須だが、一緒にxinetdもインストールしよう。サーバの起動時に自動的にVNCサービスが起動する設定を構成するには、これが必要となるからだ。
 $ sudo agt-get xinetd
$ sudo agt-get x11vnc

xinetdとx11vncパッケージをインストールしたら、エディタを使って、以下の内容を含む/etc/xinetd.d/x11vncというファイルを作成する。
 $ sudo vi /etc/xinetd.d/x11vnc

service x11vnc
{
port = 5900
flags = IPv6
protocol = tcp
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/x11vnc
server_args = -inetd -o /var/log/x11vnc.log -geometry 1024x768
-display :0 -xkb -repeat -forever -bg
-rfbauth /etc/vncpasswd -shared -enablehttpproxy
-nolookup -auth /var/run/lightdm/root/:0
}

 *1) VNCサーバのデフォルトのポート番号は5900と決まっており、クライアント側で指定するディスプレイ番号に対応して「:0」= 5900、「:1」= 5901・・・となる。
 *2) 「-geometry」オプションの値が、クライアント側に表示されるディスプレイ画面の解像度に相当する。
 *3) 「-rfbauth」オプションの値は、後述のx11vncコマンドによって作成するパスワード・ファイルのパス名にすること。

これはサービスデーモン設定ファイルというもので、サーバの起動時に実行されるスーパーサーバ・デーモンxinetdが/etc/xinetd.dディレクトリの下に存在するファイルを参照して、各サービスを起動してくれる仕組みになっている。

続いて、/etc/servicesの最後に、x11vncのサービス・エントリ登録を追加する。
 $ sudo vi /etc/services

x11vnc 5900/tcp # X11 VNC server

さらに、次のコマンドを実行して、VNCサーバのパスワード・ファイルを作成する。
 $ sudo x11vnc -storepasswd (Password) /etc/vncpasswd

(Password)」の部分に自分で決めたパスワードを入力する訳だが、ここで登録したパスワードは、後ほどクライアント側からVNCサーバに接続する際に必要になるので、正確に記憶しておくこと。

以上の設定が済んだら、サーバを再起動する。サーバが起動したら再度ログインして、念のため、x11vncサービスがリッスン状態で動作しているか確認すると良いだろう。
 $ netstat -a | grep x11vnc
tcp6 0 0 [::]:x11vnc [::]:* LISTEN


●VNCクライアントを使ってサーバへ接続する

Mac OS Xには標準で「画面共有」という機能が組み込まれており、これがVNCクライアントに相当するので、特別なソフトをインストールする必要はない(Windowsの場合は、RealVNCUltraVNCというVNCクライアント・ソフトを使うことになる)。

MacからVNCサーバへ接続するには、Finderの[移動]>[サーバへ接続...]というメニューを使う。このメニューを選択すると、下のような画面が開くので、この画面の「サーバアドレス」エディットボックスに「vnc://RemoteHost.sakura.ne.jp:5900/」と入力する。「RemoteHost.sakura.ne.jp」が接続先サーバのホスト名、「5900」がVNCサーバのポート番号だ。
Finder-Screen_Sharing-Conneting-ScrnShot08-615x403.png
上の画面に入力したアドレスが正しければ、続いて、下のような警告画面が表示されるだろう。この画面では「接続」ボタンを押下する。
Finder-Screen_Sharing-Conneting-ScrnShot09-534x324.png
そうすると、下のような画面が表示される。この画面の「パスワード」エディットボックスに、VNCのパスワード(x11vncコマンドで登録したパスワード)を入力する。
Finder-Screen_Sharing-Conneting-ScrnShot11-544x322.png
パスワードが正しければ、しばらく下のような画面が表示され、VNCサーバからの画面イメージの読み込みが行われる。
Finder-Screen_Sharing-Conneting-ScrnShot13-534x239.png
そして、その処理が終了すると、Macのデスクトップ上にUbuntu Serverのログイン画面が表示されるだろう。
Finder-Screen_Sharing-Desktop-ScrnShot14-1366x768
Finder-Screen_Sharing-Desktop-ScrnShot16-1366x768

●SSHポート・フォワーディングでVNC接続する

これでめでたくVNC環境が構築できたわけだが、もう一つだけやっておきたい事がある。それは、SSHポート・フォワーディングの設定だ。VNCで使われているRFBプロトコルでは画面イメージは生データのまま流れており、このままではセキュリティ的に問題があるからだ(ネットワーク上に流れているパケットから画面イメージを抽出して再構成するのは相当難易度が高いので、現実的には、それ程危険性は高くないという意見もあるかもしれないが・・・)。SSHクライアントとSSHサーバの間の経路を流れるデータは暗号化されるので、SSHポート・フォワーディングを使えば、ネットワーク上を流れるデータはまず安全と考えて良いだろう。

SSHによるポート・フォワーディングは簡単に実現できる。次のコマンドでSSHサーバに接続するだけだ〔下記は表示幅の関係で二行なっているが、コマンド全体を一行で入力する〕。
 $ ssh -i ~/.ssh/id_rsa -p 10022 -L 5950:RemoteHost.sakura.ne.jp:5900
RemoteUser@RemoteHost.sakura.ne.jp

「-L」オプションがポート・フォワーディングの指定だが、このオプションに与える値は次のような形式になる。

 <ローカル側のポート番号>:<リモートホスト名>:<リモート側のポート番号>

SSHポート・フォワーディングの経路を経由してVNCサーバに接続するには、Finderの[移動]>[サーバへ接続...]メニューを選択したときに開く画面に、以下のようなアドレスを入力する。
Finder-Screen_Sharing-Conneting-ScrnShot18-615x403.png
入力するアドレスのホスト名部分は常に「localhost」を、ポート番号はローカル側のそれを指定する。

正常にVNCサーバに接続されると、上と同じように、Macのデスクトップ上にUbuntu Serverのログイン画面が表示されるはずだ。

2012年11月14日

「さくらのVPS」によるクラウドPC環境構築 (2)

前記事から大分間が空いてしまった。長期休暇で本業の仕事を休んでいたが、この間体調不良も重なってしまい、研究活動の方も休んでいた。

さて、「さくらのVPS」によるクラウドPC環境の構築手順の続きを書いていく。前記事では、仮想サーバ・マシンへUbuntu Server 12.04 LTSをインストールするところまでやった。本記事では、さらにSSH鍵認証によるリモート・ログイン環境を構築する。具体的にはサーバに対して次のような設定を行う。

 (1) SSH秘密鍵と公開鍵を作成する。
 (2) sshサーバの設定を変更する。
 (3) サーバのファイルウォールを設定する。

●SSH秘密鍵と公開鍵を作成する

鍵認証によるSSHリモート・ログイン環境を構築するには、まずクライアント側で秘密鍵と公開鍵を作成しなければならない。Mac OS Xには最初からOpenSSHパッケージが入っている。Mac側でSSH秘密鍵と公開鍵を作成するには、次のコマンドを実行する。
 $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/LocalUser/.ssh/id_rsa):
Created directory '/Users/LocalUser/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/LocalUser/.ssh/id_rsa.
Your public key has been saved in /Users/LocalUser/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx LocalUser@LocalHost-UserFullname.local
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| |
| |
| |
| |
| |
| |
+-----------------+

上のコマンドのメッセージ出力から判るとおり、デフォルトで作成されるのはRSA形式2048ビット長の鍵となる。ssh-keygenコマンドにより、次の2種類の鍵が作成される。

 ~/.ssh/id_rsa      秘密鍵
 ~/.ssh/id_rsa.pub  公開鍵

公開鍵をサーバに登録した上で、クライアント側で秘密鍵を使ってログインすれば良い訳だ。秘密鍵と公開鍵はペアになっているので、作成したときの組み合わせでしか使用することはできない。また、秘密鍵は決して他に漏れないように厳重に管理する必要がある。

公開鍵をサーバ側へ転送するには、scpかsftpコマンドを使うと良いだろう。
 $ scp .ssh/id_rsa.pub RemoteUser@RemoteHost.sakura.ne.jp:
RemoteUser@RemoteHost.sakura.ne.jp's password:
id_rsa.pub 100% 412 0.4KB/s 00:00


●sshサーバの設定を変更する

サーバ側のSSH設定を変更するには、当然ながら、サーバ側にログインしなければならない。まずは、以下のコマンドでサーバにログインする。
 $ ssh RemoteUser@RemoteHost.sakura.ne.jp
The authenticity of host 'RemoteHost.sakura.ne.jp (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'RemoteHost.sakura.ne.jp,xxx.xxx.xxx.xxx' (RSA) to the list of known hosts.
RemoteUser@RemoteHost.sakura.ne.jp's password:

サーバにログインしたら、最初に、上の操作で転送済みの公開鍵を適切な場所に設置する。デフォルトでは「~/.ssh/authorized_keys」が公開鍵を格納するファイルなので、以下のコマンドを実行して、公開鍵をこのファイルへコピーする。
 $ mkdir .ssh
$ cat id_rsa.pub >> .ssh/authorized_keys
$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys

続いて、sshサーバのコンフィグレーション設定が格納されている/etc/ssh/sshd_configの内容を変更する。変更すべきsshサーバの設定項目は以下の4つだ。
 $ sudo vi /etc/ssh/sshd_config

Port 10022
PermitRootLogin no
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentication no

上記の各設定項目の値は次の意味を持っている。

 ・sshサーバのポート番号(Port):10022〔任意の番号〕
 ・rootユーザによるログイン(PermitRootLogin):禁止
 ・公開鍵を格納しているファイル(AuthorizedKeysFile):~/.ssh/authorized_keys
 ・パスワード認証によるログイン(PasswordAuthentication):禁止

sshサーバのポート番号を変更するのは必須と考えるべきだ。デフォルトのポート番号22のままでは第三者によるサーバへの攻撃が頻発するからだ。このポート番号には0〜65535の任意の値を設定できるが、ただし、他のサーバが使用しているポート番号と重複しないことが条件になる。一般に10000〜65535が使用されずに空いているので、この範囲の値を選択すれば大丈夫だろう(以降、sshサーバのポート番号として10022を使用するものとして説明を続ける)。

続けて、/etc/services内に登録されているsshサーバのポート番号も変更する。変更すべきサービス・エントリ項目は以下の2つ(既存のsshのポート番号22を10022に変更する)。
 $ sudo vi /etc/services

ssh 10022/tcp # SSH Remote Login Protocol
ssh 10022/udp

以上の設定が終わったら、sshサーバ・サービスを再起動するために、次のコマンドを実行する。
 $ sudo service ssh restart
ssh stop/waiting
ssh start/running, process 2008

最後に、現在のターミナル画面はそのままにして、確認のため、別のターミナルを開いてsshコマンドでサーバへログインする。
 $ ssh -i ~/.ssh/id_rsa -p 10022 RemoteUser@RemoteHost.sakura.ne.jp

sshサーバを鍵認証のみ許可するように設定し、かつポート番号も変更したので、上のコマンドでしかサーバへログインできないようになっているはずだ。

●サーバのファイルウォールを設定する

上記の操作によってSSH鍵認証によるリモート・ログイン環境は構築できたが、常にファイルウォールが動作している状態に設定すれば、サーバの安全性をより高めることができる。Linuxのファイルウォールと言えばiptablesを使うのが定番だが、Ubuntuのベースパッケージにはiptablesを簡単に設定できるufw(Uncomplicated Fire Wall)というツールが含まれている。Ubuntuのファイルウォールはこれを使うのが一番簡単でお勧めだ。

まずは、次のコマンドでufwの動作状況を確認する。
 $ sudo ufw status
Status: inactive

デフォルトではufwは動作していないので、一旦すべてのポートを塞ぐために、次のコマンドを実行する。
 $ sudo ufw default deny
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)

続いて、sshサーバのポート番号のみを開いた状態にする。
 $ sudo ufw allow 10022
Rules updated
Rules updated (v6)

ポートの設定がすべて終わったら、次のコマンドを実行すると、ufwを動作状態にすることができる。
 $ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

最後に、起動したufwが設定どおりに動作しているか確認する。
 $ sudo ufw status
Status: active

To Action From
-- ------ ----
10022 ALLOW Anywhere
10022 ALLOW Anywhere (v6)

ファイルウォールの設定が完了したら、再度、別のターミナルを開いてsshコマンドでサーバへログインできることを確認した方が良い。

以上で、SSH鍵認証によるリモート・ログイン環境が完成した。上記の設定をすべて適用すれば、サーバはかなり安全性は高い状態になったと言えるだろう。

2012年10月20日

「さくらのVPS」によるクラウドPC環境構築 (1)

急な仕事で東京に滞在しながら多忙な日々を過ごしていたが、やっと仕事が一区切りついた。すでに秋真っ直中の信州で一週間の休暇を取る予定で、一昨日(10/18)に塩尻に戻ってきた。残暑が厳しく湿度も高かった不快な気候の東京でずっと働きづめの一ヶ月半だった。ちなみに、先月(9月)の労働時間はもうちょっとで250Hに達するところまでいった(私の歳でこんなに働くと身体はボロボロの状態になってしまい、回復するのに時間がかかって大変なんだけど・・・)。

いまは信州に戻ってようやく一息ついているが、休暇期間に何もせずにボーっと過ごすのももったいないので、前からまとまった時間が取れたらやろうと決めていた「さくらのVPS」によるクラウド・コンピューティング(ちょっと長いので、私の造語だが「クラウドPC」と呼ぶことにする)環境の構築をやることにする。

このブログのホストとして利用しているさくらインターネットが今年の3月に「さくらのVPS」のサービス改定を実施したが、このときに「さくらのVPS 2G」という新プランが導入された。月利用料1,480円と手頃でありながら、メモリ2GB、ディスク容量200GB、仮想CPU 3コアという充実したサービス内容だったため、このプランに人気が集中したそうだ。じつは、そう言う私も3月のサービス改定時に「さくらのVPS 2G」の契約をして、仮想サーバー・マシン上にクラウドPC環境を構築してすでに使っている。本格的にこの環境を使い始めたのはつい最近なんだけど、あまりの快適さに、いまオープンソース系研究プロジェクトの開発プラットホームをこのクラウドPCへ移行する作業を進めている真っ最中だ。「さくらのVPS」を利用するとクラウドPC環境が構築できることは、去年の夏頃にググっていたときに偶然知り、いつかその過程をブログ記事にしようと目論んでいたんだけど、仕事の関係で急いで環境を作らざるをえない状況が訪れてしまい、一気にやってしまった。そのときに記事の素材や手順などの記録を残さなかった。

元々この「さくらのVPS」によるクラウドPC環境は自分のオープンソース系研究プロジェクト用の開発プラットホームとして使うつもりだったんだけど、どうしても本業の仕事の方でクラウドPC環境が必要になり、いまもその状況が続いている。改めて自分の研究開発用に使うクラウドPC環境が欲しいなぁと思っていたところに、丁度良いタイミングで、さくらインターネットで「さくらのVPS」マルチリージョン対応キャンペーンというのが10/18からが始まった。このキャンペーンを利用すれば「さくらのVPS 2G(石狩リージョン)」プランの初期費用が無料になるので、この機会を逃す手はないと思って、昨日(10/19)早速このプランの追加契約をしてしまった。

これ以降、「さくらのVPS」の仮想サーバー・マシンへUbuntu Server 12.04 LTSを導入してクラウドPC環境を構築する手順を説明するつもりだけど、結構長い内容になるので、3つ位の記事に分割して書くことにしよう。各記事の内容は次のようになる。

 (1) 「さくらのVPS」の仮想マシンへUbuntu Serverをインストールする。
 (2) SSH認証によるリモート・ログイン環境を作成する。
 (3) VNC(Virtual Network Computing)環境を構築する。

なお、私のメインPCはMacなので、SSH認証およびVNCのクライアント側PCとしてMacを使うことを前提にすべての記事を書いていく。Windowsの場合の説明は省略するが、どんなソフトを使えば良いかだけを示しておく。

まずは、Ubuntu ServerのインストールCDイメージを入手しなければならない。本家本元のUbuntuのサイトからUbuntu Server 12.04.1 LTS(12.04のポイントリリース)のISOイメージ・ファイルをダウンロードした。

次にこのISOイメージを「さくらのVPS」へアップロードするわけど、ISOイメージ・ファイルの「さくらのVPS」へのアップロードはVPSコントロールパネルで専用アカウントを作成して行う。この操作は簡単で「さくらのVPS」のマニュアル・ページにも説明が記載されているので、ここでの説明は省略する。なお、PCからのISOイメージ・ファイルのアップロードにはSFTPクライアントを使うが、Macならsftpコマンドか、FileZillaCyberduckを利用すれば良い(WindowsならWinSCPがもっとも有名なSCP/SFTPクライアントだろう)。

「さくらのVPS」へのISOイメージ・ファイルのアップロードが完了すれば、VPSコントロールパネルを使って、そのISOイメージを読み込ませて仮想マシンを起動することができるが、これを始める前に、Mac OS XではJava AppletプラグインによるWebアプリ起動を許可状態しておく必要がある。VPSコントロールパネルのVNCコンソール(TightVNC Java Viewer)という機能がJava Appletプラグインとして動作するからだ。この設定変更は、[アプリケーション]>[ユーティリティ]>[Java Preferences]を開いて[アプレットプラグインおよびWeb Startアプリケーションを有効にする]チェックボタンをOn状態にすることでできる。
Enabling-Java_Preferences-Applet_Plugins-ScrnShot02-748x586
「さくらのVPS」へISOイメージ・ファイルのアップロードが完了すると、VPSコントロールパネルの「OSイメージインストール」ページは下のような表示になる。このページの「確認」ボタンをクリックし、さらに次のページの「実行」を押下すると、アップロードしたISOイメージから仮想マシンが起動する。
VPS_Control_Panel-OS_Image_Installation-Page1-ScrnShot20-1104x1106
VPS_Control_Panel-OS_Image_Installation-Page2-ScrnShot21-1104x742
VPS_Control_Panel-OS_Image_Installation-Page3-ScrnShot22-1104x923
VPSコントロールパネルが「インストールを開始しました。」と表示された画面になると、すぐに下のような警告画面が表示されるので、[許可]ボタンを押下する(もし今後もVNCコンソールを使うつもりなら、[この署名のある"secure.sakura.ad.jp"のアプレットを許可する]チェックボタンをOnにすると良い)。
Java_Applet-secure.sakura.ad.jp-Access_Warning-ScrnShot23-582x267.png
この画面の後しばらく待つと、下のような、VNCコンソールの中にUbuntu Serverのインストーラ画面が表示された新しいウィンドウが開く。
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page1-ScrnShot24-722x584
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page2-ScrnShot29-722x584
後は、Ubuntu Serverのインストールを普通に進めていけば良いが、ただし、3つほど注意すべき事がある。

 ・キーボードの種類と配列は、Macintosh用を選択すること。
 ・ネットワーク設定の各パラメータには、VPSコントロールパネルに表示されている値を入力すること。
 ・ベースシステムのインストール後の追加ソフトウェアして、必ず「OpenSSH server」を選択項目に含めること。

下のスクリーンショットがキーボードの種類と配列を選択する「Configure the keyboard」フェーズの各画面だが、Ubnuntu Serverにリモートログインするクライアント側PCとしてMacを使用する場合は、最初の画面で手動設定(「Detect keyboard layout?」→「No」)を選択し、続く2つの画面でそれぞれ「English (US)」と「English (US) - English (Macintosh)」を選択する(私はUS英語ASCII配列のキーボードを使っている。日本語JIS配列の場合は、この2つの画面で「Japanese」と「Japanese - Japanese (Macintosh)」を選べば良い)。
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page3-ScrnShot39-882x704
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page4-ScrnShot41-882x704
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page5-ScrnShot43-882x704
さらに、下のスクリーンショットがネットワークのパラメータを設定する「Configure the network」フェーズの最初の画面。最初に実行されるDHCPによるネットワーク設定自動検出処理が失敗するので、次の画面で手動設定「Configure network manually」を選択する。
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page6-ScrnShot44-882x704
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page7-ScrnShot45-882x704
続いて表示される各画面にネットワーク設定パラメータを入力していく。各パラメータとVPSコントロールパネルの表示項目の関係は以下のようになる。

 「IP address: 」⇒「IPアドレス (IPv4)」
 「Netmask: 」⇒「ネットマスク」
 「Gateway: 」⇒「ゲートウェイ」
 「Name server addresses: 」⇒「ネームサーバ 1」「ネームサーバ 2」(2つをスペースで区切って入力)
 「Hostname: 」⇒「ホスト名 (標準)」のホスト名文字列(最初の「.」までの文字列)
 「Domain name: 」⇒「ホスト名 (標準)」のドメイン名文字列(最初の「.」以降の文字列)

VNC_Console-Ubuntu_Server_12.04.1_Installer-Page8-ScrnShot48-882x704
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page9-ScrnShot50-882x704
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page10-ScrnShot51-882x704
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page11-ScrnShot53-882x704
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page12-ScrnShot54-882x704
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page13-ScrnShot55-882x704
「Configure the network」フェーズの後は、管理者ユーザの作成、タイムゾーンの設定、ディスク・パーティションの作成、ベースシステムのインストール、パッケージマネージャの設定、ソフトウェアの選択とインストール処理が続いていく。
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page14-ScrnShot80-882x704
上のスクリーンショットがソフトウェアの選択「Software selection」フェーズの画面だが、この画面で必ず「OpenSSH server」を選択すること。次の記事で説明するが、Ubuntu Serverへのリモート・ログインにSSH認証を使用することになるからだ。他のソフトウェア項目は任意で追加できるが、Ubuntu Serverのインストール完了後にパッケージマネージャaptを使って随時追加できるので、ここではスキップしても良いだろう。

「Software selection」フェーズの次にGRUBブートローダのインストール確認の画面が表示されて、この処理が終わると、下の画面が表示される。
VNC_Console-Ubuntu_Server_12.04.1_Installer-Page15-ScrnShot83-882x704
これでUbuntu Serverのすべてのインストール処理が完了したので、「Continue」を実行して、しばらく待つと、VNCコンソールにGRUBブートローダとUbnutu Serverのブート・シーケンスが表示された後、下のようなUbuntu Serverのログイン画面に変わる。インストール操作の過程で作成した管理者ユーザのユーザ名とパスワードを入力して、ログインできることを確認する。
VNC_Console-Ubuntu_Server_12.04.1_Login-Page1-ScrnShot84-882x704
VNC_Console-Ubuntu_Server_12.04.1_Login-Page2-ScrnShot85-882x704
VNCコンソールの画面からこのままSSH認証などの初期設定処理を行うこともできるが、VNCコンソールよりMacのターミナル画面からリモート・ログインした方が操作性が良いので、管理者ユーザでログインできることが確認したら、一旦Ubuntu Serverをシャットダウンしよう。シャットダウンはお決まり次のコマンドで実行できる。
 $ sudo shutdown -h now