とらりもんHOME  Index  Search  Changes  Login

VNC

2010/05/25 HM; 2012/08/09 奈佐原; 2018/11/02 奈佐原

VNCでパソコンを遠隔操作する

VNCの通信は、通常暗号化されないのでセキュリティの面で危険である。

なのでsshポートフォアーディングという方法を用いたVNCが一般的。

この場合、データのやりとりはssh通信で行われるため安全である。

以下にsshポートフォアーディングを用いたVNCのやり方を示す。

VNCを行うには、サーバ側とクライアント側で設定を行う必要がある。

サーバ側の設定

遠隔操作したいサーバにsshで入ってvncserverをインストールする。

$ ssh [ユーザー名]@[サーバのドメインまたはIPアドレス]
$ sudo apt-get install (tightvncserver もしくは vnc4server )

※tomokoには、既にtightvncserverがダウンロードされている。

VNCサーバを起動する。

$ vncserver

このとき、ポート番号の下一桁が割り振られるのでメモ。 例えば、

New 'pen:3(hadano)' desktop is pen:3

と表示された時、割り振られたポート番号は5903になる (vncのポート番号は5900番台からと決まっている)。

VNCでGUI(グラフィカルユーザーインターフェイス)を使いたいときは、以下の設定を行う。

/home/username/.vnc/xstartupの最終行に, 
exec gnome-session &
を追記する。

また, 以下の二つの#を消せばOKという説もある...
# unset SESSION_MANAGER
# exec /etc/x11/xinit/xinitrc
.
. 
.

設定を反映させるには、一度vncを停止させ、再起動する。

$vncserver -kill :[ポート番号下一桁]
$vncserver

これでサーバー側の設定は完了。sshを終了し, サーバから出て構わない。

クライアント側

まず、vncviewerをインストールする。

$ sudo apt-get install xvnc4viewer

sshポートフォワードを行い, sshのトンネルを作る。 ※590?の"?"は、vncserverを起動した時の数字に合わせる。

$ ssh -L 5555:[127.0.0.1]:[590?] [ユーザー名]@[サーバのドメインまたはIPアドレス]

例)

$ ssh -L 5555:127.0.0.1:5903 username@xxx.tsukuba.ac.jp

もうひとつ端末を立ち上げて、vncviewerを起動する。

$ vncviewer

接続先とpasswdを入力する。

接続先 : localhost:5555
passwd : 自分のpasswd

これで出来るはず。

複数のVNCサーバーマシンに一気にアクセス!

事前準備(1回やればOK)

  • SSHの踏み台のマシンとの鍵交換
  • VNCパスワードの暗号化・ファイル化
    • $ vncpasswd ~/.vnc/passwd1
    • $ vncpasswd ~/.vnc/passwd2
    • などで, アクセス先のサーバーごとのパスワードを暗号化ファイルにしておく。

その上で, 以下のようなスクリプトを走らせればOK。

#!/bin/bash
ssh -fNT -L 5555:192.168.0.1:5900 username@123.45.67.8
ssh -fNT -L 5556:192.168.0.2:5900 username@123.45.67.9 
ssh -fNT -L 5557:192.168.0.3:5900 username@123.45.68.0

vncviewer localhost:5555 -passwd ~/.vnc/passwd1 &
vncviewer localhost:5556 -passwd ~/.vnc/passwd2 &
vncviewer localhost:5557 -passwd ~/.vnc/passwd 

ps aux | grep "ssh -fNT -L" | grep -v grep | awk '{print "kill "$2}' | sh

画面の大きさ(解像度)を変更する:

sudo vi /usr/bin/vncserver

$geometry = "1024x768";
の部分を, 
$geometry = "1500x900";
などとする。
Last modified:2020/03/14 16:20:42
Keyword(s):
References:[とらりもんHOME] [トレーニングコース]