15.3.2. VNC サーバーへの接続
VNC サーバーを設定すると、VNC サーバーを任意の VNC ビューアーに接続できます。
手順15.6 SSH を使用した VNC サーバーへの接続
- 引数なしで vncviewer コマンドを入力すると、VNC Viewer: Connection Details ユーティリティーが表示されます。接続する VNC サーバーを求めるプロンプトが出されます。
- 必要な場合は、同じ画面への既存の VNC 接続の切断を回避するために、以下のようにデスクトップの共有を許可するオプションを選択します。
- Misc. タブを選択します。
- OK を選択してメインメニューに戻ります。
- 接続するアドレスとディスプレイ番号を入力します。
address:display_number
- Connect (接続) を押して VNC サーバー画面に接続します。
- VNC パスワードを入力するよう求められます。これは、グローバルなデフォルトの VNC パスワードが設定されていない限り、ディスプレイ番号に対応するユーザーの VNC パスワードです。VNC サーバーデスクトップを示すウィンドウが表示されます。これは通常のユーザーに表示されるデスクトップではなく、Xvnc デスクトップであることに注意してください。
手順15.7 CLI を使用した VNC サーバーへの接続
- 引数としてアドレスとディスプレイ番号を指定して viewer コマンドを入力します。
vncviewer address:display_number
ここで、address はIP
アドレスまたはホスト名です。 - VNC パスワードを入力して自分自身を認証します。これは、グローバルなデフォルトの VNC パスワードが設定されていない限り、ディスプレイ番号に対応するユーザーの VNC パスワードです。
- VNC サーバーデスクトップを示すウィンドウが表示されます。これは通常のユーザーに表示されるデスクトップではなく、Xvnc デスクトップであることに注意してください。
15.3.2.1. VNC のためのファイアウォールの設定
暗号化されていない接続を使用する場合は、ファイアウォールが接続を拒否する可能性があります。VNC プロトコルは、
TCP
パケットで転送される リモートフレームバッファー (RFB)です。必要な場合は、以下のように TCP
プロトコルのポートを開きます。-via
オプションを使用する場合、トラフィックはデフォルトで有効になっている SSH
経由でリダイレクトされます。
注記
VNC サーバーのデフォルトのポートは 5900 です。リモートデスクトップにアクセスできるポートに到達するには、デフォルトのポートとユーザーに割り当てられたディスプレイ番号の合計を計算します。たとえば、2 つ目のディスプレイは 2 + 5900 = 5902 のようになります。
手順15.8 lokkit を使用したポートを開く
lokkit コマンドは、コマンドラインを使用してポートを迅速に有効にする方法を提供します。
TCP
のポート5902
などの特定のポートを有効にするには、root
で以下のコマンドを実行します。~]# lokkit --port=5902:tcp --update
これにより、--disabled
オプションで無効にされていない限り、ファイアウォールが再起動されることに注意してください。アクティブな接続は終了し、開始マシンでタイムアウトします。- 選択したポートが開いているかどうかを確認します。
root
で以下を入力します。~]# iptables -L -n | grep 'tcp.*59' ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:5902
- VNC に使用するポート番号が分からない場合は、
root
で以下を入力します。~]# netstat -tnlp tcp 0 0 0.0.0.0:6003 0.0.0.0:* LISTEN 4290/Xvnc tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 7013/x0vncserver tcp 0 0 0.0.0.0:5902 0.0.0.0:* LISTEN 4189/Xvnc tcp 0 0 0.0.0.0:5903 0.0.0.0:* LISTEN 4290/Xvnc tcp 0 0 0.0.0.0:6002 0.0.0.0:* LISTEN 4189/Xvnc
59XX
を開始するポートは、VNCRFB
プロトコル用です。60XX
以降のポートは、X windows プロトコル用です。root
で、ポートおよび Xvnc セッションに関連するユーザーを一覧表示するには、次のコマンドを実行します。~]# lsof -i -P | grep vnc Xvnc 4189 jane 0u IPv6 27972 0t0 TCP *:6002 (LISTEN) Xvnc 4189 jane 1u IPv4 27973 0t0 TCP *:6002 (LISTEN) Xvnc 4189 jane 6u IPv4 27979 0t0 TCP *:5902 (LISTEN) Xvnc 4290 joe 0u IPv6 28231 0t0 TCP *:6003 (LISTEN) Xvnc 4290 joe 1u IPv4 28232 0t0 TCP *:6003 (LISTEN) Xvnc 4290 joe 6u IPv4 28244 0t0 TCP *:5903 (LISTEN) x0vncserv 7013 joe 4u IPv4 47578 0t0 TCP *:5900 (LISTEN)
手順15.9 エディターを使用したファイアウォールの設定
管理ツールを使用して複数のインストールのために設定ファイルを準備する際には、ファイアウォール設定ファイルを直接編集すると便利です。設定ファイルの間違いがある場合は、予期せぬ結果が発生し、エラーが発生する可能性があり、ファイアウォール設定が適用されないことに注意してください。したがって、編集後に
/etc/sysconfig/system-config-firewall
ファイルの詳細を確認します。
- ファイアウォールが許可するものを確認するには、
root
で次のコマンドを実行して、ファイアウォール設定ファイルを表示します。~]# less /etc/sysconfig/system-config-firewall # Configuration file for system-config-firewall --enabled --service=ssh
この例では、デフォルトのインストールでファイアウォールは有効になっていますが、VNC ポートが通過するように設定されていません。 /etc/sysconfig/system-config-firewall
でroot
として編集し、ファイアウォール設定ファイルに--port=port_number:tcp
という行を追加します。たとえば、ポート5902
を追加するには、次のコマンドを実行します。~]# vi /etc/sysconfig/system-config-firewall # Configuration file for system-config-firewall --enabled --service=ssh --port=5902:tcp
- ファイアウォールが再読み込みされたり、システムが再起動されても、これらの変更は反映されないことに注意してください。
/etc/sysconfig/system-config-firewall
の設定を適用するには、root
で以下のコマンドを実行します。~]# lokkit --update