リモートデスクトップ@VNC
サーバーのリモートはグラフィックス(GUI)よりキャラクタ(CUI)
で行うことが多いのですが、クライアントのサーバー担当者様には
なり手がいないのでとりあえず担当・・・といった方もおいでで、
コマンド操作に不慣れな方もいらっしゃいます。
以前のサーバー担当者様から引き継いだ方から、なんとかGUIで
操作できないんか?!というご連絡があり、クライアントマシーンから
サーバーをGUIで操作できるVNCをインストールしてきました。
VNCは久方ぶりだったので備忘録的に書き残します。
以前に書いた通り、VNC開発プロジェクトはVNCの機能自体のみに
専念した開発を行っていて、セキュリティは他に依存するという
スタンスを貫いているため、セキュリティは別途考慮する必要があります。
===== サーバー側(CentOSの場合) =========================
# yum install vnc-server
実際にインストールされるのは【tigervnc-server】です。
ただしCentOS7は
# yum install tigervnc-server
としなければダメっぽい。。。
■ vnc-serverの起動・終了
# vncserver -geometry 1024×768
などとgeometryを指定して起動すると以下が表示されます。
New ‘xxx.oba-q.com:1 (root)’ desktop is xxx.oba-q.com:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/xxx.oba-q.com:1.log
desktop サーバー名は
【xxx.oba-q.com:1】
であると表示されています。
これはクライアントの設定で必要になります。
* :1はデスクトップ番号
例えば画像解像度を変更したい場合などは
# vncserver -kill :1
でプロセスを終了後
# vncserver -geometry 1280×1024
などと再度立ち上げます。
更に
環境設定はテキストベースでも可能です。
CentOS6xの場合
# vi /etc/sysconfig/vncservers
# VNCSERVERS=”2:myusername”
# VNCSERVERARGS[2]=”-geometry 800×600 -nolisten tcp -localhost”
設定例
VNCSERVERS=”3:oba-q”
VNCSERVERARGS[3]=”-geometry 1024×768 ”
3及び[3]はディスプレーナンバーです。
-localhost は自身以外の接続・-nolisten tcpはTCPでの通信の
禁止なので、通常の使用法でこのパラメータは付与しませぬ。(笑
雛形のコメントを外しただけではNGです。
—————————-
ubuntuでの注意
ubuntuはファイルサーバーとしてしか実用化はしていませんが、
ユーザーの追加など、SWATやWebminよりは簡単で便利なので
リモートデスクトップをインストールすることにしています。
デスクトップ環境がUnityだとうまくいかないという説もあるので
LXDEやXfceに変更します。
ファイルサーバーのリモート操作だけのためのために高機能の
デスクトップ環境は必要ないので、拙生は最初から一番軽い
LXDEを使用しているため問題ありません。
(拙生はUnuty大嫌い人間なのですが一応Unityでも試しました。
拙宅環境では大丈夫でしたけど。。。)
* 他のサーバーアプリも稼働している場合、Webminやリモート
デスクトップはなんでも触れちゃうので、Sambaだけの設定の
ためなら専用のWeb管理ツール(SWAT)が良いでしょう。
インストール
$ sudo apt-get install vnc4server
起動
$ vncserver -geometry 1280×1024
初回だけ設定用にユーザー名パスワードを尋かれる
プロセス終了
$ vncserver -kill i7-ubuntu:1
デスクトップマシーンにVNCサーバーを導入した場合、ホストネームを
設定していない場合は、コンピュータ名がサーバー名となる。
わざわざデスクトップマシーンに導入するのは、VPNの環境があれば
インターネットで外からクライアントマシーンをGUI操作できるからです。
なお、VNCサーバー起動時にファイルの自動生成に失敗する時もあるらしく
その対策として
$ rm .vnc/xstartup
$ ln -s /etc/X11/Xsession .vnc/xstartup
のごとく削除しちゃって元々あるXのスタートアップにソフトリンクを
貼ることで代用すると良いのだそうですが、拙宅環境ではこの対策なしでも
失敗したことはありません。
不具合が出る方はお試しあれ。
========= クライアント側 (ubuntu) ==============
拙生はRDPクライアントに【Remmina】か【KRDC】を使います。
拙宅環境では【KRDC】が安定していますが、以下はディフォルトで
同梱される【Remmina】についての説明です。
接続→新規
(設定)
・わかりやすい接続名
・適当なグループ名 (WORKGROUPなど)
・プロトコル VNCー仮想ネットワークコンピューティングを選択
* 基本設定 サーバー xxx.oba-q.com:1(要読み替え)
ユーザー名 oba-q(ログインユーザー名要読み替え)
パスワード 1234567(ログインユーザーパスワード要読み替え)
色数 High Color(16bit)など適当なものを選択
品質 拙生は 最高(低速)を選択
(低速と言ってもそれなりに早く目的は十分果たすので。)
家庭や小規模オフィスなどLAN内で使用するならこれだけども使えるでしょう。
しかしLANの規模が大きかったり、不特定のクライアントが参加する場合、
またはインターネット経由で外から覗きたい場合などはセキュリティ上
大変危険なので、拙生は(99%はCUIでのリモートであっても)LAN内では
SSHトンネリング、外からはVPNで接続します。
外からの接続にVPNの環境がない場合はSSHトンネリングでも良いでしょう。
* SSHの設定
拙宅のSSH環境はでrootのログインがOKとなっています。
秘密鍵を持たないクライアントはアクセスできません。
異なる環境の場合はそれに応じた設定が必要です。
すでに公開鍵方式でSSHによる接続環境がある場合は
SSH(タブ)で
ユーザー名 root
SSH認証 公開鍵(自動)を選択する
これだけです。
SSHで通信が暗号化されると接続アイコンに鍵マークがつきます。
========= クライアント側 (Windows) =============
Windows版フリーソフトでは
・UltraVNC
・RealVNC日本語インストール版
などが有名で、設定法もあちこちにあるのでここで取り上げる必要も
ないでしょうけど、SSHトンネリングで接続するには他のアプリに
依存することになり、使い勝手はよくありませんね。
そのままではLAN内での使用に止めるべきでしょう。
どぉしても外から接続したい場合は、TeraTerm(TTSSH)やPuttyなど、
SSHポートフォワーディング機能を持つツールの助けを借りることになります。
ここでよくあるミスがあります。
SSHポートフォワーディングの場合、基幹システム(サーバー)とクライアント間を
あらかじめ通信可能な状態にしておくので、VNCクライアントは自分自身に
接続にいかなくてはなりません。
ポートを【12345】に指定した場合の接続先は【localhost:12345】か
【127.0.0.1:12345】でなくてはいけないのに【サーバーアドレス:12345】と
してしまい接続できないとご連絡いただく場合があります。
1台分の画面に見えますがサーバー2台と接続してあり
タブで切り替えて表示します。
タブのアイコンに鍵マークが付いているの見えます?
余談ですが・・・
Windowsリモートデスクトップの使用で外からの接続の際も
SSHトンネリング等の暗号化の併用は必須と心得てください。
複数台のサーバーをリモートするときは、デスクトップの背景を
異なるものにしておくと分かり易いでしょう。
最近のコメント