Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

15.3.2. VNC サーバーへの接続

VNC サーバーを設定すると、VNC サーバーを任意の VNC ビューアーに接続できます。

手順15.6 SSH を使用した VNC サーバーへの接続

  1. 引数なしで vncviewer コマンドを入力すると、VNC Viewer: Connection Details ユーティリティーが表示されます。接続する VNC サーバーを求めるプロンプトが出されます。
  2. 必要な場合は、同じ画面への既存の VNC 接続の切断を回避するために、以下のようにデスクトップの共有を許可するオプションを選択します。
    1. Options (オプション) ボタンを選択します。
    2. Misc. タブを選択します。
    3. Shared (共有)ボタンを選択します。
    4. OK を選択してメインメニューに戻ります。
  3. 接続するアドレスとディスプレイ番号を入力します。
    address:display_number
  4. Connect (接続) を押して VNC サーバー画面に接続します。
  5. VNC パスワードを入力するよう求められます。これは、グローバルなデフォルトの VNC パスワードが設定されていない限り、ディスプレイ番号に対応するユーザーの VNC パスワードです。
    VNC サーバーデスクトップを示すウィンドウが表示されます。これは通常のユーザーに表示されるデスクトップではなく、Xvnc デスクトップであることに注意してください。

手順15.7 CLI を使用した VNC サーバーへの接続

  1. 引数としてアドレスとディスプレイ番号を指定して viewer コマンドを入力します。
    vncviewer address:display_number
    ここで、addressIP アドレスまたはホスト名です。
  2. VNC パスワードを入力して自分自身を認証します。これは、グローバルなデフォルトの VNC パスワードが設定されていない限り、ディスプレイ番号に対応するユーザーの VNC パスワードです。
  3. VNC サーバーデスクトップを示すウィンドウが表示されます。これは通常のユーザーに表示されるデスクトップではなく、Xvnc デスクトップであることに注意してください。

15.3.2.1. VNC のためのファイアウォールの設定

暗号化されていない接続を使用する場合は、ファイアウォールが接続を拒否する可能性があります。VNC プロトコルは、TCP パケットで転送される リモートフレームバッファー (RFB)です。必要な場合は、以下のように TCP プロトコルのポートを開きます。-via オプションを使用する場合、トラフィックはデフォルトで有効になっている SSH 経由でリダイレクトされます。
注記
VNC サーバーのデフォルトのポートは 5900 です。リモートデスクトップにアクセスできるポートに到達するには、デフォルトのポートとユーザーに割り当てられたディスプレイ番号の合計を計算します。たとえば、2 つ目のディスプレイは 2 + 5900 = 5902 のようになります。

手順15.8 lokkit を使用したポートを開く

lokkit コマンドは、コマンドラインを使用してポートを迅速に有効にする方法を提供します。
  1. TCP のポート 5902 などの特定のポートを有効にするには、root で以下のコマンドを実行します。
    ~]# lokkit --port=5902:tcp --update
    これにより、--disabled オプションで無効にされていない限り、ファイアウォールが再起動されることに注意してください。アクティブな接続は終了し、開始マシンでタイムアウトします。
  2. 選択したポートが開いているかどうかを確認します。root で以下を入力します。
    ~]# iptables -L -n | grep 'tcp.*59'
    ACCEPT     tcp  --  0.0.0.0/0     0.0.0.0/0    state NEW tcp dpt:5902
  3. 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 を開始するポートは、VNC RFB プロトコル用です。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 ファイルの詳細を確認します。
  1. ファイアウォールが許可するものを確認するには、root で次のコマンドを実行して、ファイアウォール設定ファイルを表示します。
    ~]# less /etc/sysconfig/system-config-firewall
    # Configuration file for system-config-firewall
    
    --enabled
    --service=ssh
    この例では、デフォルトのインストールでファイアウォールは有効になっていますが、VNC ポートが通過するように設定されていません。
  2. /etc/sysconfig/system-config-firewallroot として編集し、ファイアウォール設定ファイルに
    --port=port_number:tcp
    という行を追加します。たとえば、ポート 5902 を追加するには、次のコマンドを実行します。
    ~]# vi /etc/sysconfig/system-config-firewall
      # Configuration file for system-config-firewall
    
    --enabled
    --service=ssh
    --port=5902:tcp
  3. ファイアウォールが再読み込みされたり、システムが再起動されても、これらの変更は反映されないことに注意してください。/etc/sysconfig/system-config-firewall の設定を適用するには、root で以下のコマンドを実行します。
    ~]# lokkit --update