Show Table of Contents
13.3. VNC ビューアー
vncviewer は、グラフィカルユーザーインターフェースを表示し、vncserver をリモートで制御するプログラムです。
vncviewer の操作では、エントリーを含むポップアップメニューがあり、これでフルスクリーンモードの切り替えやビューアーの終了などの様々なアクションを実行します。また、ターミナルから vncviewer を操作することもできます。vncviewer のパラメーターを一覧表示するには、コマンドラインで vncviewer -h を入力します。
13.3.1. VNC ビューアーのインストール
TigerVNC (
vncviewer) クライアントをインストールするには root で以下のコマンドを発行します。 ~]# yum install tigervnc
13.3.2. VNCサーバーへの接続
VNC サーバーが設定されると、VNC サーバーを任意の VNC ビューアーに接続できます。
手順13.4 SSH を使用した VNC サーバーへの接続
- 引数なしで
vncviewerコマンドを入力します。VNC Viewer: Connection Details (VNC ビューアー: 接続の詳細) ユーティリティーが表示されます。接続する VNC サーバーを指定するよう要求されます。 - 必要な場合は、同じ画面への既存の VNC 接続の切断を回避するために、以下のようにデスクトップの共有を許可するオプションを選択します。
- ボタンを選択します。
- Misc. (その他) タブを選択します。
- ボタンを選択します。
- OK を押してメインメニューに戻ります。
- 接続するアドレスおよび画面番号を入力します。
address:display_number
- Connect (接続) を押して VNC サーバー画面に接続します。
- VNC パスワードを入力するよう求められます。これは、グローバルなデフォルトの VNC パスワードが設定されていない限り、画面番号に対応するユーザーの VNC パスワードです。VNC サーバーデスクトップを示すウィンドウが表示されます。これは通常のユーザーに表示されるデスクトップではなく、Xvnc デスクトップであることに注意してください。
手順13.5 CLI を使用した VNC サーバーへの接続
- アドレスと画面番号を引数として
viewerコマンドを入力します。vncviewer address:display_number
ここで、address はIPアドレスまたはホスト名です。 - VNC パスワードを入力して自分自身を認証します。これは、グローバルなデフォルトの VNC パスワードが設定されていない限り、画面番号に対応するユーザーの VNC パスワードです。
- VNC サーバーデスクトップを示すウィンドウが表示されます。これは通常のユーザーに表示されるデスクトップではなく、Xvnc デスクトップであることに注意してください。
13.3.2.1. VNC のためのファイアウォールの設定
暗号化されていない接続を使用する場合は、
firewalld が接続を拒否する可能性があります。firewalld が VNC パケットを通過させることを許可するには、TCP トラフィックに特定のポートを開きます。-via オプションを使用する場合、トラフィックは firewalld においてデフォルトで有効な SSH を介してリダイレクトされます。
注記
VNC サーバーのデフォルトのポートは 5900 です。リモートデスクトップにアクセス可能なポートに到達するには、このデフォルトのポートとユーザーに割り当てられた画面番号の合計を計算します。たとえば、2 つ目の画面は次のようになります。2 + 5900 = 5902
0 〜3 の画面の場合は、以下で説明されているように service オプションを使用して VNC サービスの firewalld のサポートを使用します。3 よりも大きい画面番号の場合は、手順13.7「firewalld でポートを開く」 で説明されているように、対応するポートを特別に開く必要があります。
手順13.6 firewalld での VNC サービスの有効化
firewalld設定についての情報を確認するには、以下のコマンドを実行します。~]$firewall-cmd --list-all- 特定のアドレスからのすべての VNC 接続を許可するには、以下のコマンドを実行します。
~]#
これらの変更は次回のシステム起動後に維持されないことに注意してください。ファイアウォールに永久的な変更を行うには、firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.122.116" service name=vnc-server accept'success--permanentオプションを追加してコマンドを繰り返します。ファイアウォールリッチ言語コマンドの使用の詳細については、『Red Hat Enterprise Linux 7 Security Guide (Red Hat Enterprise Linux 7 セキュリティーガイド)』を参照してください。 - 上記の設定を確認するには、以下のコマンドを使用します。
~]#
firewall-cmd --list-allpublic (default, active) interfaces: bond0 bond0.192 sources: services: dhcpv6-client ssh ports: masquerade: no forward-ports: icmp-blocks: rich rules: rule family="ipv4" source address="192.168.122.116" service name="vnc-server" accept
特定のポートまたはポート範囲を開くには、
firewall-cmd コマンドラインツールに --add-port オプションを使用します。たとえば、VNC 画面 4 では、TCP トラフィックに対してポート 5904 を開く必要があります。
手順13.7 firewalld でポートを開く
- パブリックゾーンで
TCPトラフィックのポートを開くには、rootで以下のようにコマンドを発行します。~]#
firewall-cmd --zone=public --add-port=5904/tcpsuccess - パブリックゾーンに対して現在開かれているポートを表示するには、以下のコマンドを発行します。
~]#
firewall-cmd --zone=public --list-ports5904/tcp
ポートは、
firewall-cmd --zone=zone --remove-port=number/protocol コマンドを使用して削除できます。
これらの変更は次回のシステム起動後に維持されないことに注意してください。ファイアウォールに永久的な変更を行うには、
--permanent オプションを追加してコマンドを繰り返します。firewalld でのポートの開閉の詳細については、『Red Hat Enterprise Linux 7 Security Guide (Red Hat Enterprise Linux 7 セキュリティーガイド)』を参照してください。
13.3.3. SSH を使用した VNC サーバーへの接続
VNC は、通信への攻撃に対するセキュリティーがないクリアテキストネットワークプロトコルです。通信を安全にするには、
-via オプションを使用してサーバークライアント接続を暗号化します。これにより、VNC サーバーとクライアント間に SSH トンネルが作成されます。
VNC サーバークライアント接続を暗号化するコマンドの形式は以下のとおりです。
vncviewer -via user@host:display_number
例13.1 -via オプションの使用
SSHを使用して VNC サーバーに接続するには、以下のようにコマンドを入力します。~]$vncviewer -via USER_2@192.168.2.101:3- プロンプトが表示されたら、パスワードを入力し、Enter を押して確認します。
- リモートデスクトップのウィンドウが画面に表示されます。
VNC アクセスの制限
暗号化された接続のみを使用したい場合は、
systemd.service ファイルの ExecStart 行で -localhost オプションを使うと、暗号化されていない接続をすべて防ぐことができます。
ExecStart=/usr/sbin/runuser -l user -c "/usr/bin/vncserver -localhost %i"
これにより、
vncserver は、-via オプションの結果として SSH を使用して送信されたローカルホストとポート転送された接続以外の接続を受け入れなくなります。
SSH の使用の詳細については、12章OpenSSH を参照してください。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.