SAMやソフトウェアのインストールで使うswinstallは、Xとコンソールの両方で同じように利用できるので、SSH経由のターミナルでもとくに問題ない。しかし、セキュリティ管理ツールBastilleのほか、商用アプリのインストーラや管理ツールなどでも、X環境でなければ操作できないことがある。かといって運用に入ったサービスサーバーにXで接続するのはセキュリティ上好ましくない。また、Xが使うポートはふさがっているのが常である。
管理端末として、X環境(LinuxやWindows+PC Xサーバー)があれば、SSHのトンネルを使ってXアプリを利用できるが、HP-UX 11iv2のSSH環境そのままでは、Xフォワード機能は利用できない」。ちょっとしたコツが必要だ。
操作PC側にはXサーバーが起動している必要があるが、そのXサーバーにほかのマシンのXクライアントが接続できるよう、以下の2点を確認しておく。
アクセス制御をかけている環境では、「xhost+」の実行などで解除する。また、最近の環境ではリモートからの接続を拒否するようXサーバーの起動時に「-nolisten tcp」オプションを付けて起動しているものもある。例えばDebian GNU/Linuxでは、/etc/X11/xinit/xserverrcにその記述があるので、修正してXサーバーを起動し直しておく。
準備ができたら、sshを6000番ポートのリモートフォワードで起動し、接続する。
# ssh -R 6000:localhost:6000 <接続先>
「localhost」の部分はsshを起動した操作PC側マシンの外部IPアドレスでもOKである。
リモートフォワードで接続したら、DISPLAY環境変数を設定し、任意のXクライアントを起動すればOKだ。
# DISPLAY=localhost:0.0 # export DISPLAY # /usr/sbin/sam
これでSSHだけが接続できるファイアウォール内のマシンでも、X上の管理ツールで作業できるはずだ。
また、SSHのポートフォワード機能を持つPCXサーバーASTEC-Xを用いれば、Windows環境でもSAMの画面を操作できるようになる。
以上のような作業の後、現在、www.unixuser.jpとしてこのマシンは稼働している。次回はWebサーバーとしての稼働までと、それにかかわるセキュリティ関連の設定を紹介する予定だ。
通常のXフォワードは利用できない: 「-X」オプションでsshを起動するとXのフォワード機能が働くが、そのときにHP-UX上のXクライアントが、TCP通信ではなく、UNIXドメインソケットを利用してしまうため、「Can't open display」と接続できないようだ。X11R6.4を採用している比較的新しいOSでは同じ症状が出ているようだ。sshdのリコンパイルで対処できそうだが、実機での確認はできていない。また、標準ソフトウェアの独自コンパイルは、運用上の負荷になるので、TCP通信を明示できるよう、リモートフォワードで対処している。
6000番ポート: Xの通信ポートとXのディスプレイ番号は、ポート番号=6000+<ディスプレイ番号>という関係である。ディスプレイ番号1でXサーバーが起動していれば、6001番ポートのリモートフォワードを設定する。「- R 6005:192.168.0.10:6003」のように指定して、リモートは6005番(localhost:5.0)、ローカルは6003番(192.168.0.10:3.0)のように異なるポートでも問題ない。
Copyright(c)2010 SOFTBANK Creative Inc. All rights reserved.