Skip to content

setup_xrdp

terukusu edited this page May 16, 2021 · 13 revisions

WindowsのRDPを使ってVMインスタンスの GUI にリモート接続する

概要

Windows の RDP(Remote Desctiop Connection, リモートデスクトップ接続)を使用してVMインスタンスのGUIにリモート接続する方法を紹介します。

前提

MT4のインストールや各種設定などはすでに完了している前提です。

手順

xrdp をVMインスタンスにインストールする

VMインスタンスにSSHログインしたターミナルで以下を実行する。

$ sudo apt install xrdp

途中で、以下のようにキーボードの種類を聞かれるので 55. Japanese, 1. Japanese を選んでおく

xrdp の設定を変更する。GUIにデフォルトで VNC Server(ATST標準のGUI) を使用するように

  1. VMインスタンスにSSHログインしたターミナルで以下を実行して設定ファイルを編集する
$ sudo nano /etc/xrdp/xrdp.ini
  • ファイルの最後の方に有る[Xvnc]のセクションを以下の画像の位置にカット&ペーストする
  • port の項目(赤丸の部分)の値を 5901 に変更する

※ nanoの操作は、文字列選択は shift+↑,↓, カットは ctrl+K, ペーストは ctrl+U, 保存は ctrl+S, 終了は ctrl+X

  1. ファイルを保存して nano を終了する
  2. ターミナルで以下を実行して xrdp を再起動する
$ sudo systemctl restart xrdp

ローカルマシンから RDP を使ってVMインスタンスの GUI に接続する

RDPクライアント(Windowsなら「リモートデスクトップ接続」、Macなら「Microsoft Remote Desktop(App Storeからインストール可能)」)を使って接続できます。

  1. ターミナルでVMインスタンスへSSHログイン
$ gcloud compute ssh --ssh-flag="-L 13389:localhost:3389" <ユーザー名>@tradevm ← これはローカルマシンで実行
  • RDPを使用する場合は「--ssh-flag="-L 13389:localhost:3389"」をつけて接続する必要が有ります
  • VNCクライアントと両方を使用する場合は「--ssh-flag="-L 5901:localhost:5901 -L 13389:localhost:3389"」でOK
  1. RDPクライアントを使用してVMインスタンスへ接続する

【Macの場合】
「Microsoft Remote Desktop」を起動。
接続先は「localhost:13389」

パスワードはVNC Serverへの接続パスワード(デフォルトでは「123123」)

接続が成功すると以下のうような画面になります。(メニューバーの「Window」から 「Fit to window」を選ぶとこのようにウィンドウサイズに合わせて拡縮表示されます。)

※ 切断するときはこの「Microsoft Remote Desktop」のウィンドウを閉じればOK。

【Windowsの場合】
「リモートデスクトップ接続」を起動。
接続先は「localhost:13389」

パスワードはVNC Serverへの接続パスワード(デフォルトでは「123123」)

接続が成功すると以下のうような画面になります。

※ 切断するときはこの「リモートデスクトップ接続」のウィンドウを閉じればOK。

セキュリティ対策

GCPを使用している場合は、標準でRDP接続を許可してあるので自動売買用のVMが乗っ取られる可能性が高いです。このページで紹介しているSSHを介してのRDP以外は拒否するように設定しておきましょう。(GCP 以外のVPSでは「パケットフィルタリングの設定」を参考にSSH経由以外は全拒否する設定を(自己責任で :-p))

  1. GCPコンソールの「Comput Engine」→ VMインスタンスを選択 → 「編集」で、以下のように「trading」というネットワークタグを設定します。
  1. GCPコンソールの「VPCネットワーク」→「ファイアウォール」→「ファイアウォールルールを作成」で以下の通りのルールを作成します。(自動売買用VMへの直接RDP接続は拒否するというルール)
  1. 確認する
    RDPクライアントで、接続先に外部IP(後述)だけを指定しても接続が拒否されることと、このページの手順では接続できることを確認しておきましょう。

Topへ戻る