序章

VNC、または「仮想ネットワークコンピューティング」は、キーボードとマウスを使用してリモートサーバー上のグラフィカルデスクトップ環境と対話できるようにする接続システムです。 VNCを使用すると、コマンドラインの操作にまだ慣れていないユーザーでも、リモートサーバー上のファイル、ソフトウェア、および設定を簡単に管理できます。

このガイドでは、Ubuntu 14.04サーバーにVNCをセットアップし、SSHトンネルを介して安全に接続します。 使用するVNCサーバーは、高速で軽量のリモートコントロールパッケージであるTightVNCです。 この選択により、低速のインターネット接続でもVNC接続がスムーズかつ安定することが保証されます。

前提条件

このガイドを開始する前に、最初に完了する必要のあるいくつかの手順があります。

Ubuntu 14.04サーバーがインストールされ、root以外のユーザーで構成されている必要があります。 sudo 特権。 まだこれを行っていない場合は、 Ubuntu 14.04初期サーバーセットアップガイドの手順1〜4を実行して、このアカウントを作成できます。

root以外のユーザーを取得したら、それを使用してUbuntuサーバーにSSHで接続し、VNCサーバーのインストールを続行できます。

ステップ1—デスクトップ環境とVNCサーバーをインストールします

デフォルトでは、ほとんどのLinuxサーバーのインストールにはグラフィカルデスクトップ環境が付属していません。 この場合、作業可能なものをインストールすることから始める必要があります。 この例では、XFCE4をインストールします。これは、ほとんどのユーザーに馴染みがありながら、非常に軽量です。

XFCEパッケージは、TightVNCのパッケージとともに、Ubuntuのソフトウェアリポジトリから直接入手できます。 apt:

sudo apt-get update
sudo apt-get install xfce4 xfce4-goodies tightvncserver

VNCサーバーの初期構成を完了するには、 vncserver 安全なパスワードを設定するコマンド:

vncserver

(アクセスパスワードを設定した後、表示専用パスワードを入力するかどうかを尋ねられます。 表示専用パスワードでログインするユーザーは、マウスまたはキーボードでVNCインスタンスを制御することはできません。 これは、VNCサーバーを使用して他の人に何かをデモンストレーションしたい場合に便利なオプションです。)

vncserver サーバーが使用するデフォルトの構成ファイルと接続情報を作成して、VNCのインストールを完了します。 これらのパッケージをインストールすると、VNCサーバーとグラフィカルデスクトップを構成する準備が整います。

ステップ2—VNCサーバーを構成する

まず、VNCサーバーが起動したときに実行するコマンドを指示する必要があります。 これらのコマンドは、という構成ファイルにあります。 xstartup. 私たちのVNCサーバーには xstartup ファイルはすでにプリロードされていますが、XFCEデスクトップにはいくつかの異なるコマンドを使用する必要があります。

VNCが最初にセットアップされるとき、ポート5901でデフォルトのサーバーインスタンスを起動します。 このポートはディスプレイポートと呼ばれ、VNCでは次のように呼ばれます。 :1. VNCは、次のような他のディスプレイポートで複数のインスタンスを起動できます。 :2, :3、など。 VNCサーバーを使用する場合は、次の点に注意してください。 :X を参照するディスプレイポートです 5900+X.

VNCサーバーの構成方法を変更するため、最初にポート5901で実行されているVNCサーバーインスタンスを停止する必要があります。

vncserver -kill :1

新しい設定を開始する前に xstartup ファイル、後で必要になった場合に備えて、元のファイルをバックアップしましょう。

mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

今、私たちは新しいを開くことができます xstartup とファイル nano:

nano ~/.vnc/xstartup

これらのコマンドをファイルに挿入して、VNCサーバーを起動または再起動するたびに自動的に実行されるようにします。

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

ファイルの最初のコマンド、 xrdb $HOME/.Xresources、サーバーユーザーのを読み取るようにVNCのGUIフレームワークに指示します .Xresources ファイル。 .Xresources ここで、ユーザーは、端末の色、カーソルテーマ、フォントレンダリングなど、グラフィカルデスクトップの特定の設定を変更できます。

2番目のコマンドは、サーバーにXFCEを起動するように指示するだけです。ここには、サーバーを快適に管理するために必要なすべてのグラフィカルソフトウェアがあります。

VNCサーバーがこの新しいスタートアップファイルを適切に使用できるようにするには、実行可能特権をサーバーに付与する必要があります。

sudo chmod +x ~/.vnc/xstartup

ステップ3—VNCサービスファイルを作成する

新しいVNCサーバーを簡単に制御するには、Ubuntuサービスとして設定する必要があります。 これにより、必要に応じてVNCサーバーを起動、停止、および再起動できます。

まず、で新しいサービスファイルを開きます /etc/init.dnano:

sudo nano /etc/init.d/vncserver

データの最初のブロックは、ユーザー名や表示解像度など、VNCが頻繁に参照するいくつかの一般的な設定を宣言する場所です。

#!/bin/bash
PATH="$PATH:/usr/bin/"
export USER="user"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"
. /lib/lsb/init-functions

必ず交換してください user 設定したroot以外のユーザーと変更します 1024x768 仮想ディスプレイに別の画面解像度を使用する場合。

次に、新しいサービスを管理できるようにするコマンド命令の挿入を開始できます。 次のブロックは、VNCサーバーの起動に必要なコマンドと、起動中のフィードバックをコマンドキーワードにバインドします。 start.

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

次のブロックはコマンドキーワードを作成します stop、既存のVNCサーバーインスタンスをすぐに強制終了します。

stop)
log_action_begin_msg "Stopping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

最後のブロックはコマンドキーワード用です restart、これは単に前の2つのコマンドです(stopstart)1つのコマンドに結合されます。

restart)
$0 stop
$0 start
;;
esac
exit 0

これらのブロックがすべてサービススクリプトに含まれると、そのファイルを保存して閉じることができます。 このサービススクリプトを実行可能にして、設定したコマンドを使用できるようにします。

sudo chmod +x /etc/init.d/vncserver

次に、サービスとコマンドを使用して、新しいVNCサーバーインスタンスを起動してみてください。

sudo service vncserver start

ステップ4—VNCデスクトップに接続する

VNCサーバーをテストするには、SSHトンネルを介したVNC接続をサポートするクライアントを使用する必要があります。 Windowsを使用している場合は、TightVNC、RealVNC、またはUltraVNCを使用できます。 Mac OS Xユーザーは、組み込みの画面共有を使用することも、RealVNCなどのクロスプラットフォームアプリを使用することもできます。

まず、ローカルコンピュータにSSH接続を作成して、に安全に転送する必要があります。 localhost VNCの接続。 これは、LinuxまたはOSXのターミナルから次のコマンドで実行できます。

(交換することを忘れないでください userserver_ip_address SSH経由でサーバーに接続するために使用したユーザー名とIPを使用します。)

ssh -L 5901:127.0.0.1:5901 -N -f -l user server_ip_address

PuTTYなどのグラフィカルSSHクライアントを使用している場合は、 server_ip_address 接続IPとして設定し、 localhost:5901 プログラムのSSHトンネル設定で新しい転送ポートとして。

次に、VNCビューアを使用してVNCサーバーに接続できます。 localhost:5901. それを忘れないでください :5901 最後に、それがVNCインスタンスにアクセスできる唯一のポートであるためです。

接続すると、デフォルトのXFCEデスクトップを設定して使用できるようになります。 次のようになります。

VNC接続が機能していることを確認したら、VNCサービスをデフォルトのサービスに追加して、サーバーを起動するたびに自動的に開始されるようにします。

sudo update-rc.d vncserver defaults

結論

これで、Ubuntu14.04サーバーでセキュリティで保護されたVNCサーバーが稼働しているはずです。 これで、使いやすいグラフィカルインターフェイスを使用して、サーバーのファイル、ソフトウェア、および設定を管理できるようになります。