リモートシェル設定
今回リモートシェル環境にはSSHを使用します。SSHによる通信は暗号化されるので、
通常より高いセキュリティが確保できます。通常 SSH でアクセスするとリモートログ イン時にパスワードを聞かれますが、本ドキュメントでは、コンソールから Oracle01
とOracle02に、root でパスワード入力を必要とせずにログインできるようにSSHを設
定します。パスワード無しでのリモートログイン環境は、セキュリティは弱くなります が、リモートのサーバにバッチを実行させる時に役立ちます。
今回は最小限で容易な設定のみ実行しています。セキュリティの強度はあまり高くあり ませんのでご注意ください。
1. 概要
SSH Client
sshd_config SSH Server リモートログイン
.shosts root
暗号鍵登録 ssh_config
sshd
SSH はクライアントサーバ形式をとり、リモートログインされるほうのマシンに SSH サ ー バ が 起 動 し て い る 必 要 が あ り ま す 。 ク ラ イ ア ン ト 側 の 設 定 フ ァ イ ル は /etc/ssh/ssh_configであり、サーバ側の設定ファイルは/etc/sshd_configになります。また、
サーバ側には.shostsを使用して、接続を許可するマシンを記述する必要があります。こ の.shostsはクライアントで接続するユーザに合わせて、サーバ側の同じユーザのホーム ディレクトリに作成する必要があります。上図では、クライアントのrootが接続しよう としていますから、サーバのroot のホームディレクトリに .shosts を作成しておく必要 があります。また、SSHを使用する前に、暗号鍵をクライアントに登録する必要があり ます。これは、サーバからクライアントに SSH でアクセスすることで実現されます。
なお、このサーバからの SSH による接続は失敗しますが、この時鍵がクライアント側 に登録されます。接続が失敗することに問題はありません。なお、今回の設定を行うこ とで下図のパスワード無しの SSH が可能になります。また、後で解説する oracle01 と
oracle02間でのリモートコピーのための基本となる設定もここで行います。
SSH Serve
oracle02.jp.oracle.com SSH Server
oracle01.jp.oracle.com SSH Client
console.jp.oracle.com Root
2. SSH Clientの設定
console、oracle01およびoracle02で、viなどを使用して /etc/ssh/ssh_configを編集してく ださい。なお、一般にsshの設定項目はかなりの数がありますが、今回必要になる設定 は6行です。また、設定していない項目にはデフォルト値が適用されるので、分かりや すさのために、もとのファイルの名前を変えて、新規にファイルを作成します。
[root@console root]# mv /etc/ssh/ssh̲config /etc/ssh/ssh̲config.bkp [root@console root]# vi /etc/ssh/ssh̲config
記載する内容は以下になります。
RSAAuthentication no PubkeyAuthentication no HostbasedAuthentication yes PasswordAuthentication no
preferredAuthentications hostbased,publickey,password EnableSSHKeysign yes
3. SSH Serverの設定
console、oracle01 お よ び oracle02 の 全 て の マ シ ン で 、vi な ど を 使 用 し て /etc/ssh/sshd_config を編集してください。なお、sshd_config についても設定項目もとの ファイルの名前を変えて、新規にファイルを作成します。
[root@console root]# mv /etc/ssh/sshd̲config /etc/ssh/sshd̲config.bkp [root@console root]# vi /etc/ssh/sshd̲config
記載する内容は以下になります。
PermitRootLogin yes RSAAuthentication no PubkeyAuthentication no IgnoreRhosts no
HostbasedAuthentication yes PasswordAuthentication no
ChallengeResponseAuthentication no
設定後、sshdに設定を反映させるため、sshdを再起動します。以下の図は、再起動時の 様子です
[root@console root]#/etc/init.d/sshd restart
Stopping sshd: [ ok ]
Startting sshd: [ ok ]
4. /root/.shostsの作成
oracle01およびoracle02のrootユーザでそれぞれ/root/.shostsを新規に作成します。
[root@oracle01 root]#vi /root/.shosts
記載する内容は以下になります。
console.jp.oracle.com
5. 鍵登録と接続確認
oracle01からconsole へ、 oracle02からconsole へsshを行い鍵を登録します。Rootで oracle01からconsoleへ以下を実行します。
[root@oracle01 root]# ssh console.jp.oracle.com
以下の画面が表示されますので、Yesを入力します。
接続確認のため、consoleからrootから以下を実行します。
[root@console root]#ssh oracle01.jp.oracle.com
最初の接続時のみ、接続を継続するか確認のプロンプトがでますので、yesを入力して 下さい。以後このプロンプトが表示されることはありません。接続できた場合、2回目 以降の接続では以下が表示されます。
以上でSSHの設定は終了です。同様のことをconsoleとoracle02間でも行って下さい。
リモートXの設定
オラクル製品の標準インストーラであるOUI(Oracle Universal Installer)などのXクライ アントの画面をコンソールに表示させるにはリモートXの設定をする必要があります。
ここではその設定を解説します。
1. Xサーバ側での設定(console)
Consoleで設定します。この設定により、設定ファイルに記述されたマシンからのX接
続が許可されるようになります。 /etc/X0.hostsファイルをviなどで作成してください。
[root@console root]#vi /etc/X0.hosts
設定内容は以下になります。
oracle01.jp.oracle.com oracle02.jp.oracle.com
2. Xクライアント側での設定(oracle01、oracle02)
oracle01、oracle02の両方で設定します。各マシンのrootユーザの、/root/.bash_profileに 以下の環境変数を設定して下さい。
export DISPLAY=console.jp.oracle.com:0.0
設定後は設定を反映させるため、.bash_profile を以下のコマンドで読み込んでください。
[root@oracle01 root]#. .bash̲profile
3. 動作確認
consoleで以下のコマンドを使用してXサーバをスタートさせます。すでにXサーバを
起動して /etc/X0.hosts を編集していた場合は、いったんログアウトして、再度 X サー バを起動してください。
[root@console root]#startx
次にOracle01からXクライアントである、xclockを起動して下さい。Consoleマシンに 以下が表示されればOKです。同様にOracle02からも確認して下さい。
[root@oracle01 root]#xclock
以上でリモート接続環境の設定は終了です。