毎回忘れるのでメモ
環境
今回は検証用なのでセキュリティは一切考慮しない
やりたいこと
通常、sshでは接続先にGUI環境があってもウィンドウをクライアント側で表示する事はできない。
が、ForwardX11機能を使うとかんたんにできる。
サーバー側の設定
sshされる側のLinuxサーバーの方。今回はX11Forwardingを使うのでsshがそれを有効化している必要がある。
- X11Forwarding yesであること
- X11UseLocalhost noであること
- AddressFamily anyまたはinetであること
設定の確認は以下のコマンドで
$ sshd -T | grep -E '(x11forwarding|x11uselocalhost|addressfamily)' addressfamily any x11forwarding yes x11uselocalhost no
/etc/ssh/sshd_config を編集して systemctl restart sshd
クライアント側の設定
Mac側の話。XQuartzというアプリをインストールする。
インストールしたらXQuartzを起動して、以下変更
- 「接続の認証」をOFF
- 「ネットワーク・クライアントからの接続」をON
以下のようにはなるはず
~/.ssh/configにて以下追記
Host 接続したいサーバーのホスト名 ForwardX11 yes ForwardX11Trusted yes
あとはsshして
$ DISPLAY=MAC側のIPアドレス:0 xeyes
するとMac側に目のウィンドウが表示される。やったね