概要 †
さくらVPS上にVNC環境を作成してみます。
必要なときだけSSHでトンネリングしてセキュアに接続します。(ポートフォワーディング)
SSHでポートフォワーディングした場合、通信内容はSSHを経由するのでセキュアに保たれます。
ただし、ポートフォワーディングは接続側の対応なので、サーバー側でVNCへの接続をSSH経由以外で認めないなどは出来ません。
その間もVNC用のポートは開いているため、危険です。
そこで今回は、自宅の固定IPからのみ接続を許可するようにファイアーウォールの設定を行いました。
クライアントは、WindowsでUltraVNCを使いました。
サーバー側のセットアップ †
- GUI環境がなにも入っていなかったので、X-WindowとGNOMEを入れます。
1
|
| yum groupinstall "X Window System" "GNOME Desktop Environment"
|
- GNOMEが入った環境では、既にVNCサーバが入っているようですが、入っていなければ改めてインストールします。
1
2
|
| yum list | grep vnc-server
yum install vnc-server
|
- 初期設定を行います。
この作業は、VNCで接続したいユーザーにログインした状態で行います。
1
2
3
4
5
6
7
8
| -
|
!
-
!
-
!
| vncserver -geometry 1024x800
vncserver -kill :<ディスプレイ番号。vncserver起動時に表示されます。この時点では通常1>
|
- [~./.vnc/xstartup]を開きます。
1
2
3
4
| -
|
|
!
| exec gnome-session
|
- iptablesへルールを追加します。
私の場合はスクリプトにまとめているので、スクリプトへ以下のルールを追加します。
1
2
| -
!
| iptables -A INPUT -p tcp --dport 5901 -d <接続を許可するIP> -m state --state NEW -j ACCEPT
|
- スクリプトを実行して、実際にルールを追加します。
(うまくいくことを確認してからでもいいですが)iptablesの設定を保存します。
1
|
| /etc/init.d/iptables save
|
クライアント側のセットアップ †
- UltraVNCをダウンロードし、インストールします。
http://sourceforge.net/projects/ultravnc/
- [Next]
- 規約。[Next]
- [Next]
- インストールパス。[Next]
- WindowsにVNCサーバを入れたくなかったので、[Ultra VNC Viewer Only]。[Next]
- スタートメニュー表示。[Next]
- その他。私はVNCファイルを関連付けしましたが、好みの問題。[Next]
- 確認。[Install]
- 終了。[Finish]
- PuTTyを起動します。
ここではあらかじめ、対象のVNCサーバへ公開鍵暗号でSSH接続できるものとします。
未設定の場合は、以下をご覧ください。
SSH/CentOSへのインストール
- 対象サーバへの接続情報に以下の設定を追加します。
[接続] - [SSH] - [トンネル]を開きます。
「源ポート」に適当なポート、「送り先」に<VNCサーバIP>:5901を設定し、[追加]を押下します。
一時的ならばそのまま[開く]。恒久的に設定するならば、[セッション]へ戻り保存します。
- 以上でサーバー、クライアントとも設定完了です。
接続方法 †
- PuTTyで、先ほど作成したポートフォワーディングする設定でVNCサーバへログインします。
- VNCサーバーを起動します。
1
|
| vncserver -geometry 1024x800
|
- UltraVNCを起動します。
[VNC Server]欄に、「127.0.0.1::<PuTTyで源ポートに指定したポート番号>」を入力し、[Connect]します。
- VNC接続のパスワードを入力します。
- ログインできました。
終了方法 †
- UltraVNCを終了します。
- VNCサーバーを停止します。
ポートが開いていることや、リソースのことが気にならないのであれば不要です。
でもそういう使い方をするならば、vncserverをサーバー起動時に起動しておいたほうが、接続方法も1ステップ減って幸せかもしれません。
- ログアウトします。
検証時の環境 †
- CentOS 5.5 x86
- vnc-server 4.1.2-14.el5_5.4
- Windows 7 Professional SP1 x64