RDPとVNC

提供: 釧路高専プロ研Wiki
移動先: 案内検索

CloudStackのインスタンスに対し、RDPやVNCで接続しましょう。


VNC[編集]

VNCを利用しましょう。 ここでは、テンプレートの「CentOS」を利用することを想定しています。

事前準備[編集]

GUI環境の導入[編集]

まず、GUI環境を導入します。

yum -y groupinstall "Desktop" "General Purpose Desktop" "Japanese Support"

余計なのも入っていますので、気になる人は別の方法で行ってください。

VNC環境の導入[編集]

そして、VNC環境を導入します。

yum install tigervnc tigervnc-server

利用するユーザの設定[編集]

次に、「VNCへ接続するためのユーザ」を設定しますが、ここでは「maya」とします。 まず、全く作っていない場合は、作っておきましょう。

useradd maya
passwd maya

これを基に、「/etc/sysconfig/vncservers」に、先ほど、VNCに使うと決めたユーザの情報を追記します。

VNCSERVERS="1:maya"
VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp -nohttpd"

「-nolisten tcp」はお好みです。動かなかったら消すと良いです。よく分かっていません。 この設定により、「5901番[1]で待ち受けるよ」という設定になりました。


ファイアウォールの設定[編集]

最後にファイアウォールの設定です。

  • VMのiptablesの設定
  • CloudStackのファイアウォールの設定
  • CloudStackのポート転送の設定

を済ませてください。


VNCサーバの起動[編集]

一度起動させます。

vncserver :1

VNCに接続するためのパスワード(ユーザのパスワードではありません)を聞いて来るので入力します。

その後、もしかすると、

service vncserver start

service vncserver restart

が必要になるかも知れませんので、気をつけてください。


接続[編集]

適当なVNCクライアントを用意して、接続してください。


日本語入力について[編集]

[Ctrl] + [Space] で可能です。 それだと嫌だという人は、下記リンクを参考にしてください。

http://next.matrix.jp/20120902.html

セキュリティについて[編集]

残念ながら、VNCは平文です。 やろうと思えば、何から何までありとあらゆる情報を盗むことができます。 パスワードも見えてしまうので、サーバを不正に操作されることも覚悟しなければなりません。

そこで、「SSHポートフォワーディングを使う」という方法があります。

VNCでは、通常、

[クライアント] ------ 平文 ------ [サーバ]

という構成を取りますが、SSHトンネルを使うと、

[クライアント] -- [SSHクライアント] === 暗号文 === [SSHサーバ] -- [サーバ]

という構成を取ることができます。 「クライアント」には「SSHクライアント」のことを「サーバ」だと思わせていて、「サーバ」には「SSHサーバ」が「クライアント」だと思い込ませることができます。

クライアント側が、MacやLinuxであれば、

ssh -L [ローカルホストポート]:[リモートホスト]:[リモートホストポート] [リモートホスト] -l [リモートホストのユーザ名] -p [サーバSSHポート]

つまり、今回の場合であれば、

ssh -L (例えば25252):(リモートホスト):5901 (リモートホスト) -l (mayaなど) -p (22や50022といった番号)

というコマンドを実行した後、VNCクライアントで「localhost:25252」とすれば安全に接続が可能です。

Windowsの場合でも、Teratermを使えば同じようなものです。


なお、SSHポートフォワーディングを使う方法には、この他にも「ファイアウォールの設定が必要ない」という利点があります。安全便利で嬉しいですね。

ちなみに、「/etc/sysconfig/vncservers」の内容は、

VNCSERVERS="1:maya"
VNCSERVERARGS[1]="-geometry 1024x768 -localhost"

のように、「localhost」にしても良いかも知れません。

参考文献[編集]

参照していなくてすみません。


RDP[編集]

RDP(リモートデスクトップ)を使いましょう。


事前準備[編集]

RDPの許可[編集]

@IT - リモートから「リモート デスクトップ」を許可する

してください。もうされているかも知れません。

ファイアウォールの設定[編集]

Windows側のは、もうされているはずなので、(されていなかったらやってね)

  • CloudStackのファイアウォールの設定
  • CloudStackのポート転送の設定

を行ってください。TCPのほかに、UDPも許可すると遅延が減り、良いかも知れません。

接続[編集]

適当なクライアントを用意してください。

Windows[編集]

標準搭載の「リモート デスクトップ接続」ソフトウェアを使うと便利です。


Mac / Android / iPhone[編集]

Microsoft謹製のクライアントがあるそうです。


Ubuntu[編集]

「Remmina」というソフトウェアが標準搭載されているそうです。


セキュリティについて[編集]

脆弱なパスワードを設定してはいけません。

また、ポート番号もデフォルトのものを使わないほうが良いと思います[2]

ですが、この場合は、Windows側の設定を変えずに、CloudStackだけの設定で済ませることができるので、楽ですね。
  1. デフォルトでは。
  2. 誰かのUSBメモリに付いてきたウイルスが散らばって、海外からスーパーハカーに侵入されるかも知れません。