ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

macOSでリモートサーバーに接続してLinuxの仮想マシンマネージャーを操作する

[7/20 追記]

CentOS 7 minimalインストールでは次のパッケージをインストールする必要がありました。 インストールするフォントはなんでも構いません。フォントをインストールしないとメニューが豆腐だらけになります。

yum -y install xauth ipa-pgothic-fonts

また、sshdの以下の設定を一部変更する必要がありました。設定を反映させるためにsshdサービスの再起動が必要でした。

X11Forwarding yes
X11DisplayOffset 10

ここではCentOS 7を例にしましたが、他のOSでも最小インストールの際は上のような対応が必要かもしれません。 以上、追記終わり。


f:id:ytooyama:20170714230840p:plain:w450

昔のOS X(確かSnow Leopardまで)にはX11.appというのが標準で存在していたので簡単にできたのですが、現在はXQuartzというX11.appの改良版のX Window Systemをインストールすると、macOSX11アプリケーションを実行したり、リモートサーバー上のXアプリケーションを実行したりすることができるようです。

今回は例として、サーバーにインストールした仮想マシンマネージャーを起動してmacOSで操作するまでの手順です。

XQuartzをダウンロードしてインストー

XQuartzを公式サイトからダウンロードします。

https://www.xquartz.org/

インストールは少々時間がかかります。 インストール後は一旦macOSをログアウトする必要があります。

f:id:ytooyama:20170714233735p:plain

XQuartzを起動

XQuartzはアプリケーションフォルダーのユーティリティーフォルダの中にappファイルがあります。 ダブルクリックしてXQuartzを起動します。

接続する前に一つだけ重要な設定(OptionキーでAlt_LとAlt_Rを送信)を有効化しておきます。

f:id:ytooyama:20170714230446p:plain

リモートサーバーにSSH接続

XQuartzのターミナルを開きます。 sshコマンドを使っていつものように接続するだけですが、ポイントは-Xオプションをつけて実行するというところです。パスワード入力を要求されたらリモートサーバーの指定ユーザーのパスワードを入力します。

% ssh -X user@xserver-host

ちなみに-Xオプションについてはマニュアルに次のような記述があります。

     -X      Enables X11 forwarding.  This can also be specified on a per-host
             basis in a configuration file.

             X11 forwarding should be enabled with caution.  Users with the
             ability to bypass file permissions on the remote host (for the
             user's X authorization database) can access the local X11 display
             through the forwarded connection.  An attacker may then be able
             to perform activities such as keystroke monitoring.

             For this reason, X11 forwarding is subjected to X11 SECURITY
             extension restrictions by default.  Please refer to the ssh -Y
             option and the ForwardX11Trusted directive in ssh_config(5) for
             more information.

リモートサーバーに接続されます。見た目は-Xオプションをつけないでssh接続をした時と一緒。あとは接続したターミナル上で、virt-managerコマンドを実行するだけ。

f:id:ytooyama:20170717212444p:plain:w360

これで冒頭のように見慣れた管理画面が開かれます。仮想マシンのコンソールも表示できます。

WindowsにはXmingというものがあるようです。そのうち試そうと思います。 http://d.hatena.ne.jp/marqut/20141230/1419923430

これで仮想マシンマネージャーを開くだけのためにVMLinuxを起動しなくても済むようになりました。ちなみにVPN越しでも割と使えますね。さすがにローカル上のVMを操作するのと比べると遅くなりますけど。