Mac から LAN 外の CentOS に VNC over SSH で接続するまでのメモ。

基本 SSH でいいんだけども、
実家のネットワークの CTU の設定を変更したいときに、
自宅のサーバーのブラウザを立ち上げたかったので。

 

VNC over SSH とは

VNC over SSH ってのは、
SSH のポートを通って VNC に接続するっていうことらしい。

VNC は通信が暗号化されてないから、
LAN 外のマシンに VNC 接続する場合は、
SSH のポートを通したほうが安全らしい。

 

環境

サーバー:
CentOS 5.5

クライアント:
MacOS 10.6 (Snow Leopard)

利用するアプリケーション:
Chicken of the VNC
→ Mac 用 VNCクライアント

SSH Tunnel Manager
→ SSH トンネルマネージャ(そのまんま)
※ライセンス書いてないけど、フリーで使っていいよね?

 

サーバー側の設定

以下、SSH は利用できる状態とします。

ちなみに、僕はSSHをパスワードでログインできる状態にしてるけど、
鍵方式でログインする場合はまたちょっと違うかも。

まずは VNC サーバーのインストールと設定。

# yum -y install vnc-server
# vi /etc/sysconfig/vncservers
# 以下の2行を追加
# Display番号が 1 、ユーザー名が username の場合
VNCSERVERS="1:username"
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd"

VNC を利用するユーザーになって、
パスワードを設定。

# su username
# vncpasswd
Password: # パスワードを入力(SSHと同じである必要なし)
Verify: # パスワード再入力

VNC サーバーの起動。

# /etc/rc.d/init.d/vncserver start

VNC サーバーを起動すると、
VNC を利用するユーザーのディレクトリに設定ファイルができるので、
それを編集。

# vi /home/username/.vnc/xstartup
#twm & # ←をコメントアウト
gnome-session & # ←を追加

VNC サーバーを自動で起動するようにする。

# chkconfig vncserver on
# chkconfig --list vncserver
vncserver      	0:off	1:off	2:on	3:on	4:on	5:on	6:off

 

SSH Tunnel Manager の設定

SSH Tunnel Manager を起動。
preferences から設定を追加。

20110130_001

Name → 適当に
Login → SSHのログインユーザー名
Host → ホスト名
Port → SSHのポート番号

Local redirections の+ボタンクリック。

左から順に、
Port → 5901(VNCのポート番号)
LAN Host → localhost
Port → 5901(VNCのポート番号)
※なんでポート番号を2回入れるのかは分からない。
※「始まり」と「終わり」とかかなぁ。

設定が終わったら画面は閉じて、
さっき設定した設定名の再生ボタンを押す。

20110130_002

パスワードを聞かれるので、
SSHのパスワードを入力。

状態が Connected になればOK。

 

Chicken of the VNC の設定

Chicken of the VNC を起動。

20110130_003

Servers欄 → 適当に名前を付ける
Host → localhost
Display → 1(サーバー側で設定したディスプレイ番号)
Password → VNCユーザーのパスワード

Connect をクリックして、
サーバーのデスクトップが表示されれば完了。

20110130_004

 

以上。

LAN 外からサーバーのデスクトップが表示されるのは、
ちょっと感動します。
(僕だけ……?)