centos5.4で構築した2台のサーバ(A,B)があります。

サーバAからサーバBをシャットダウンさせるシェルスクリプトを書きたいのですが、
どのように書けばいいのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2009/12/24 17:14:26
  • 終了:2009/12/31 17:15:02

回答(3件)

id:y-kawaz No.1

y-kawaz回答回数1420ベストアンサー獲得回数2252009/12/24 18:35:53

ポイント27pt

いろいろやり方はあると思いますが、一般的なのはsshでリモートでコマンド実行する方法じゃないかと思います。手順は以下のとおりです。

  1. サーバAで ssh-keygen コマンドでパスフレーズ無しの公開鍵を作ります。
  2. サーバAの /root/.ssh/id_rsa.pub ファイルを、サーバBの /root/.ssh/authorized_keys に追記します(無ければ作成します)
  3. サーバAから ssh root@サーバB を実行して無認証でログイン出来ることを確認します。
  4. サーバAから ssh root@サーバB shutdown -r now でサーバBがシャットダウンできます。

セキュリティのことを考えた場合サーバBでsshの接続元IP制限や、公開鍵に対して実行できるコマンドの制限を行った方が良いかもなどありますが、とりあえず基本的な流れは上記のとおりで実現できると思います。

id:amarank

ありがとうございました。この方法であればすぐにできそうです。

2009/12/26 10:05:48
id:cannabis_c4 No.2

すかなび回答回数20ベストアンサー獲得回数42009/12/24 20:40:21

ポイント27pt

サーバA 192.168.0.1

サーバB 192.168.0.2

と仮定します。

サーバA・B、両方のCentOS5.4上で下記の設定を行います。

 

1. rsh-serverをインストール

yum install rsh-server

 

2. xinetdでrshを許可

vi /etc/xinetd.d/rsh して

disable = yes

disable = no

に変更

 

3. rshを許可するよう/etc/securettyに追加

echo "rsh" /etc/securetty

 

4. /etc/hosts.allowにrshを許可するIPを追加

echo "in.rshd : 192.168.0.1" >> /etc/hosts.allow

echo "in.rshd : 192.168.0.2" >> /etc/hosts.allow

 

5.root権限でrshを利用できるよう.rhosts追加&パーミッション変更

echo "192.168.0.1 root" >> /root/.rhosts

echo "192.168.0.2 root" >> /root/.rhosts

chmod 600 .rhosts

 

6.xinetd再起動

/etc/rc.d/init.d/xinetd restart

 

以上で、サーバAからサーバBをシャットダウンしたい場合は

rsh 192.168.0.2 halt

サーバBからサーバAを再起動したい場合は

rsh 192.168.0.1 reboot

で制御することができます。

制御の権限を一方通行にしたい場合は/etc/hosts.allowと.rhostsの他方のIPを削除します。

 

ただ、このrshの利用した方法は設定こそ簡単ですが、セキュリティ上きわめて脆弱(リモートPCのroot権限実行にパスワードすら求めません)で、あまりおすすめはしません。

.rhostsでrootをオープンにすることのリスクと危険性を十分に理解したうえで慎重に使用してください。

id:amarank

非常に丁寧にご回答頂き、ありがとうございました。

あとは、1の方との安全性と比べて、実装したいと思います。

2009/12/26 10:05:45
id:q0123 No.3

我意亜回答回数9ベストアンサー獲得回数22009/12/24 23:34:12

ポイント26pt

sshを使った方法は他の方が答えていますので別の方法。


サーバということなのでもしかしたらIPMIが利用できるかもしれません。


IPMIで遠隔からサーバの電源をオン/オフ

http://dsas.blog.klab.org/archives/50648870.html


DELL サーバで IPMI を使う方法

http://www.sssg.org/blogs/naoya/archives/1228


電源以外にも温度や消費電力を計測する事もできます。(もちろんハードウェアが対応していればですが)

id:amarank

これは便利です。サーバが死んでいる時、リモートで電源がはいるというのは素晴らしいです。

2009/12/26 10:05:43

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません