Monthly Archives: March 2014

さくらのVPSに申し込んでSSHでVNC接続するまで

1.はじめに

Open Source Conference Tokyo/Spring 2014に参加したのですが、VPS(仮想専用サーバ)が盛況でありました。お試し期間もあるし、少し試してみようと思い、さくらインターネットのVPSに申し込みました。

2.申し込みからCentOSの起動

さくらのVPS」から申し込みます。2週間の試用期間があります。インターネットだけで申し込みが完結するのは気軽です。他社サービスでは電話で認証するものがありました。HPの指示に従って申し込むだけです。クレジットカードが必要になりますが、試用期間中にキャンセルすれば課金は発生しないとのこと。申し込み時にサーバのロケーションを選ぶことが出来ます。石狩も選べましたが、ネットワーク遅延が気になりまして、無難に東京にしておきました。今にして思えば個人でBCPだーとか言って石狩にしてもよかったかも。
申し込みが完了すると、しばらくしてメールが届きます。「VPSコントロールパネル」の情報が書いてあります。ログインして起動させます。これでSSHでログイン可能になります。お手軽ですね。コントロールパネルからも、「リモートコンソール画面」より、仮想サーバのシリアルポートを介した操作を行えます。SSHでログイン出来なくなったとき等に使えますね。

3.GUI環境

SSHでVNC接続するまでをやってみました。まずはGUI環境の構築。解説しているサイトはいくつもあります。その中でも特に、
が参考になりました。他にも色々なサイトを参考にしました。実は一回失敗してCentOSを入れ直しています。その反省点等も以下に記していきます。
まずはmacからsshでログイン。もともとsshは立っているので、macのterminalからそのまま入れます。

MacのTerminal$ ssh -l root ホスト名
ログイン後にrootのパスワード変えて、ユーザ作って、XとGNOMEのインストール。
# yum groupinstall "X Window System" "GNOME Desktop Environment"
とやってしまうと失敗します。yum grouplistで見ると分かりますが、”GNOME Desktop Environment”は存在しません。”Desktop”にしないとインストールされません。
# yum groupinstall "X Window System" "Desktop"
でXとGNOMEが入ります。

4.VNCサーバインストールと設定

続いて、
# yum install vnc-server
とやって、VNCサーバを入れたんですが、設定ファイル/etc/sysconfig/vncserversが見当たりませんでした。
# ls /etc/sysconfig/
とやってもvncserversが見当たらない。
うーん。
調べてみたところ、同じようなことに悩んでいる人が居まして、他のVNCサーバを入れ直すことにしました。こちら参考にしてTigerVNCを選択しました。
# yum erase vnc-sever</pre>
</div>
<div># yum install tigervnc-server
インストールしたら、設定ファイルが出来ました。
/etc/sysconfig/vncserversに以下を追加。
もともとあった設定をコピって、ディスプレイ2にsampleユーザが800×600サイズで接続する設定にしました。
VNCSERVERS="2:sample"</pre>
</div>
<div>VNCSERVERARGS[2]="-geometry 800x600"
VNCSERVERAGSに-nolisten tcpとか、-localhostとか付いているとリモートからつながりません。
また、 -nohttpdというのは無いようです。シンプルに設定するべきでしょう。
続いて、VNCのデフォルトのポート番号変えます。
変えたい番号が使われていないかチェック。説明上ポートを「10xx0」にしておきます。もちろん本当は全て数字じゃないとダメです。
# lsof -i :10xx0
/usr/bin/vncserverを修正します。デフォルトの5900をコメントアウトして、新しいポート番号にします。
# vi /usr/bin/vncserver
<span style="font-size: 0.857142857rem; line-height: 1.714285714;">#$vncPort = 5900 + $displayNumber;</span>
$vncPort = 10xx0 + $displayNumber;
ちょっと危ないですが、さくらVPSはデフォルトではiptablesが空いているので、特に設定は不要です。
VNC接続したいユーザsampleでVNCサーバのパスワードを設定します。
# su - sample
$ vncpasswd
Password:
Verify:
VNCサーバ起動。
# service vncserver start
VNC を利用するユーザーのディレクトリに.vncディレクトリが作成され、その下に設定ファイルが出来ます。xstartupファイル内をgnomeに書き換えます。2行コメントアウトして、gnome-session &を追加。
$ vi /home/sample/.vnc/xstartup
<span style="font-size: 0.857142857rem; line-height: 1.714285714;">#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &</span>
#twm &</div>
gnome-session &
サーバが再起動してもvncserverが立ち上がるようにしておきます。
# chkconfig vncserver on

5.MacからVNC over SSHで接続

macから接続します。
terminal立ち上げて、SSHポートフォワーディングを設定します。ローカルホストのポート1234から、さくらVPSのポート10xx2に接続するのは以下のコマンド。LPICの試験勉強で出てきたなあ。VNCで使うのポートはさっき設定した通り「10xx0 + $displayNumber」なので、10xx2になるわけです。
MacのTerminal$ ssh -N -l ユーザ名 -L 1234:さくらのVPSホスト名:10xx2 さくらのVPSホスト名
これでパスワード入力が求められて、入力すると待ち状態になります。
MacにはVNCクライアントがあります。分かりにくいのですが、FinderのGoの一番下にサーバ接続があります。
「vnc://localhost:1234」を入れて接続。しばらく待つとパスワード入力が求められますので、パスワード入れると、さくらVPSのデスクトップに接続されます。
で、ここでですね。あー、終わった終わったと思って、GNOMEからログアウトすると、VNCでつながらなくなります。青い画面になったままで、にっちもさっちも行かなくなります(vncserver再起動を余儀なくされました・・・)。×を押して出るのが正しいようです。
基本的な設定はこんなところで。
色々と遊んでみるかな。