RDP を使ってリモートマシンの Virtual Box に接続する話

諸般の事情で GUI 付きの仮想マシンをリモートから動かしたかったので、RDPを使ってVirtualBoxの仮想マシンに接続してみました。

拡張パックがインストールされていることの確認

まず VirtualBox で RDP を使うための拡張パックがインストールされていることを確認する必要があります。

  VBoxManage list extpacks

拡張パックがインストールされていない場合はここからダウンロードするか、パッケージマネージャからインストールしてください。例えば Ubuntu 20.04 では以下の様にインストールできます。

  sudo apt install virtualbox-ext-pack

起動する仮想マシンの確認

次に VirtualBox で起動する仮想マシンを確認します。コマンドラインで仮想マシンの一覧は以下の様に参照できます。

  VBoxManage list vms

仮想マシンの起動

起動したい仮想マシンを確認したら、仮想マシンを headless で (GUI を起動せずに) 起動します。ここで、 -v on 以降が RDP を有効にするためのオプションになります。今回は接続元の IP アドレスにはホストマシンの IP アドレスを使いましたが、 0.0.0.0 でも動作しそうです (セキュリティ上大丈夫ではなさそうですが)。

  VBoxHeadless --startvm <仮想マシン名> -v on --vrdeproperty TCP/Address=<接続元のIPアドレス> --vrdeproperty TCP/Ports=3389

RDP クライアントで接続

最後に適当な RDP クライアントでリモートマシンに接続します。今回は同じローカルネットワークにいるので直接接続しましたが、必要に応じて ssh でポート転送などをすると外部からも接続できると思います。 様々な RDP クライアントが各プラットフォームで公開されているので適当なものを使うと良いです。今回は macOSのMicrosoft Remote Desktopを使いました。