ステータス:非推奨

この記事は非推奨になり、保守されなくなりました。

理由

Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達し、セキュリティパッチまたはアップデートを受信しなくなりました。

代わりに参照してください

この記事は参照として役立つ場合がありますが、ベストプラクティスに従わなかったり、このリリースまたは他のUbuntuリリースで機能しない場合があります。 使用しているUbuntuのバージョン用に書かれた最近の記事を使用することを強くお勧めします。

現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。

序章

VNCはVirtualNetworkComputingの略で、サーバーにリモートで接続し、キーボード、マウス、モニターを使用してそのサーバーとインターフェイスできるようにします。

ステップ1-VNCサーバーとXFCE4デスクトップをインストールします。

開始するには、Ubuntu12.10×64サーバードロップレットにVNCサーバーをインストールします。 rootとしてログインし、パッケージをインストールします。

apt-get -y install ubuntu-desktop tightvncserver xfce4 xfce4-goodies

ステップ2-VNCユーザーを追加し、そのパスワードを設定します。

adduser vncpasswd vncユーザーvncとしてrootを取得したい場合は、sudoersファイルに追加する必要があります。 rootとしてログインしていることを確認してください:echo "vnc ALL=(ALL) ALL" >> /etc/sudoersユーザーvncのVNCサーバーパスワードを設定します:su - vncvncpasswdexitこのステップでは、ユーザー’vnc’のVNCパスワードを設定します。 後でVNCクライアントを使用してVNCサーバーに接続するときに使用されます。

img

これで、ユーザー「vnc」としてログインし、「sudo su-」を実行してパスワードを入力することにより、rootを取得できます。

img

ステップ3-サービスとしてVNCをインストールする

rootとしてログインし、 /etc/init.d/vncserver を編集して、次の行を追加します。

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

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

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

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

/home/vnc/.vnc/xstartup を編集し、次のように置き換えます。

#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
startxfce4 &

ファイルのアクセス許可を更新し、すべてのユーザーがXServerを起動できるようにします。

chown -R vnc. /home/vnc/.vnc && chmod +x /home/vnc/.vnc/xstartup
sed -i 's/allowed_users.*/allowed_users=anybody/g' /etc/X11/Xwrapper.config

/etc/init.d/vncserver を実行可能にして、VNCサーバーを起動します。

chmod +x /etc/init.d/vncserver && service vncserver start

VNCサーバーを追加して、再起動時に自動的に起動します。

update-rc.d vncserver defaults

ステップ4-TightVNCを使用して液滴に接続します

TightVNCは、SSHトンネルを可能にする優れたVNCクライアントです。 http://www.tightvnc.com/download.phpからダウンロードできます。

リモートホストとしてIP::portを使用してください。ここで、IPはドロップレットのIPであり、ポートは5901です。

img

手順2でvncpasswdを使用して指定したVNCパスワードの入力を求められます。

img

そして今、あなたはつながっています:

img

ステップ5-暗号化でVNCサーバーセッションを保護する

基本的なVNCサーバーのセットアップには暗号化がないため、スヌーピングに対して脆弱です。

Puttyを使用してSSHトンネルを作成し、このトンネルを介してVNCに接続します。

まず、VNCサーバーがローカルホストでのみリッスンすることを確認する必要があります。

/etc/init.d/vncserver を編集し、-localhostOPTIONSに追加します。

OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"

img

VNCサーバーを再起動します。

/etc/init.d/vncserver restart

VNCサーバーがローカルホストIPでのみリッスンしていることを確認します。

netstat -alpn | grep :5901

img

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlからPuttyをダウンロードします。

Windowsの場合: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

Puttyを起動し、Sessionの下にドロップレットIPを入力します。

img

まだ接続しないでください。

[接続]->[SSH]->[トンネル]まで下にスクロールして、[新しい転送ポートを追加]をクリックし、[追加]をクリックします。

img

これで、[開く]をクリックして接続できます。 ユーザーvmcとしてログインできます。

img

このSSHセッションを閉じないように注意してください。これにより、PC(localhost)とドロップレットの間にトンネルが作成され、両端のポート5901がマッピングされます。

TightVNCを使用してlocalhost::5901に接続します

img

上記のステップ3のVNCパスワードを入力します。

img

これで、安全な接続を介して接続されました。

img

そして、あなたはすべて完了です!