ablog

不器用で落着きのない技術者のメモ

~/.ssh/config の ForwardX11 属性って何だ?

Oracle Grid Infrastructureインストレーション・ガイド 11gリリース2(11.2)for Linux B56271-01
を読んでいて、~/.ssh/config の ForwardX11 属性って何だ?と思って調べてみた。

2.14.4 表示およびX11転送の構成の設定

リモート端末で作業を行っていて、そのローカル・ノードのみが表示されている場合(通常は、この状態になります)、次の構文を使用して、環境変数DISPLAYを設定します。

Bourne、KornおよびBashシェル:

$ export DISPLAY=hostname:0

Cシェル:

$ setenv DISPLAY hostname:0

たとえば、Bashシェルを使用していて、ホスト名がnode1の場合は、次のコマンドを入力します。

$ export DISPLAY=node1:0

X11転送によってインストールが失敗しないように、次の手順に従って、Oracleソフトウェア所有者ユーザー用にユーザー・レベルのSSHクライアント構成ファイルを作成します。

テキスト・エディタを使用して、ソフトウェア・インストール所有者の~/.ssh/configファイルを編集または作成します。

ForwardX11属性がnoに設定されていることを確認します。 次に例を示します。

Host *
      ForwardX11 no
クラスタ用Oracle Grid Infrastructureの拡張インストール前の作業

手元の Linux の man で調べてみると、

% man ssh_config
(中略)
ForwardX11
   Specifies whether X11 connections will be automatically redirected over the secure channel and DISPLAY set.  The argument must
   be "yes" or "no".  The default is "no".

   X11 forwarding should be enabled with caution.  Users with the ability to bypass file permissions on the remote host (for the
   user's X11 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 if the ForwardX11Trusted option is also enabled.

通常 X Window System は独自のポートで通信しているけど、ForwardX11 を yes に設定すると ssh のポートフォワーディングにより通信がトンネル化されるみたいですね。