さくらVPSには、仮想マシンのコンソールにVNCでアクセスする機能があります。
以前は重宝していたのですが、Java7 に対応していないので使えなくなっていました。
しかし、Java6 は既にメンテナンスされておらず、
このためだけに既にメンテナンスが切れた古い JRE をインストールするのも流石に……
というわけで、手作業で無理やり接続してみました。
今回は普段使っている PuTTY と、
さくらVPSでも使っているという TightVNC の、Windows バイナリ版で動作確認しました。
VNCサーバの準備
Webから通常通りVNCコンソールを開こうとすれば、
サーバ側の接続設定は完了します。
HTMLページのソースを開くと、applet タブに接続のための情報が載っています。
<applet archive="../applet/TightVncViewer.jar" code="com.tightvnc.vncviewer.VncViewer" width="500" height="0"> <param name="CODEBASE" value="./" /> <param name="SOCKETFACTORY" value="com.tightvnc.vncviewer.SshTunneledSocketFactory" /> <param name="SSHHOST" value="vnc@210.224.172.111" /> <param name="HOST" value="localhost" /> <param name="PORT" value="55304" /> <param name="PASSWORD" value="abcpass" /> <param name="Open new window" value="Yes" /> <param name="Offer relogin" value="No" /> </applet>
こんな感じ。ポート番号とパスワードは毎回変わるようです。
上のは例示のために適当な番号と文字を埋めました。
SSHトンネルの準備
SSHHOST の行の通り、210.224.172.111 に vnc ユーザで接続します。
この時のパスワードは不要です。IP の末尾は 110 になることもあるようです。
この際にシェル・コマンドの実行をしないよう、設定する必要があるので注意です。
これを忘れると接続確立後に即クローズされます。
トンネルの設定は、ローカルの適当なポート番号を、リモートの localhost:55304 に設定します。
リモート側の設定はHTMLに埋めてあったHOST:PORTの通りです。
VNCクライアントから接続
VNCクライアントを立ち上げて、localhost のトンネルで設定したポートに接続します。
この時、VNCのパスワードを聞かれるので、PASSWORDの欄にあった文字列を打ち込みます。
これで、VPSマシンのコンソールが表示されました。
2014/05/07追記
HTML5モードが実装されたようなので、
もうこの記事は不要になりました。
http://support.sakura.ad.jp/mainte/mainteentry.php?id=13146