
急にシェルスクリプトを組む事になり、勉強を始めて2週間です。
下記について、調べても分からなかった為、教えてください。
どのようなコマンドを使用すればよいのかや、参考になるサイトがありましたら教えてください。
【概要】
シェルスクリプト内で、SSH接続で他サーバへ接続し他サーバ内で別のシェルスクリプトを実行する。その際にroot権限が必要となる。
【環境】
作業PC:Windows
サーバA:Linux
サーバB:Linux
【スクリプト】
スクリプト1
格納場所:サーバA
処理 :スクリプト1、2を実行
スクリプト2
格納場所:サーバA
処理 :サーバA内でディレクトリ作成等の作業をしてOK/NGを返却
スクリプト3
格納場所:サーバB
処理 :サーバB内でディレクトリ作成等の作業をしてOK/NGを返却
【やりたい事】
1.作業PCからサーバAへSSH接続
2.サーバAでroot権限へスイッチし、スクリプト1を実行
3.スクリプト1は、スクリプト2を実行
4.スクリプト2はディレクトリ作成等の処理を行い、OK/NGを表示
5.スクリプト1は、サーバBへSSH接続
6.スクリプト1は、サーバBでルート権限へスイッチし、スクリプト3を実行
7.スクリプト3はディレクトリ作成等の処理を行い、OK/NGを表示
8.スクリプト1はサーバBからログアウト
No.1ベストアンサー
- 回答日時:
普通にsshでできるはずですが?サーバーA、サーバーBともにopensshはインストールしてありますよね?もし、インストールしていない場合、「Linux openssh インストール」などで検索してみましょう。
sshのマニュアルで、引数に[command]とあるのを見たことありませんか?
http://www.openbsd.org/cgi-bin/man.cgi?query=ssh …
これは、例えば次のコマンドを実行すると、user0としてログインした上でlsを実行します。
$ ssh user0@host ls
同様にscript3.shをroot権限で実行するなら、次で良いでしょう。
$ ssh root@host /where/you/put/script3.sh
ただ、root権限でのログインをするにはサーバーBにてroot権限でのログインを可能とするよう設定を変更する必要があります。
/etc/sshなどにあるsshd_configを編集し、PermitRootLoginを設定してください。
http://www.openbsd.org/cgi-bin/man.cgi?query=ssh …
サーバーBのルート権限が奪取されてもあまり気にしないならここでPermitRootLogin yesとしても良いかもしれませんが、おっしゃるような用途で使う場合、PermitRootLogin forced-commands-onlyと設定するのが普通です。
この作業をするためには当然、ssh-keygenでログインするときに使う公開鍵を作っておき、サーバーBの~root/.ssh/authorized_keysに置いてあると思います。(何を言っているのかわからないなら、「ssh 公開鍵 使い方」などで検索してみてください。)このauthorized_keysで、ログインに使用する公開鍵の前にcommand="/where/you/put/script3.sh"を書いておくと、その公開鍵を使ったログインではscript3.shしか実行できなくなり、より安全です。
http://chihungchan.blogspot.jp/2008/08/restrict- …
あと、これも参考になるかもしれません。
http://oreilly.com/catalog/sshtdg/chapter/ch08.h …
頑張って。
No.3
- 回答日時:
>もし、sudoを使用して私がやりたい事の参考になるページをご存知でしたら教えてください。
sudoの使い方調べられましたか?
sudoの設定をしておくだけなので、sudoの設定の仕方も含めた使い方の載ってるサイトならどこでも参考になるかと思います。
No.2
- 回答日時:
ログイン自体はroot以外で行う必要がある場合は、
・sudo を使って実行するスクリプトをroot権限で実行するようにする
・expect を使ってrootにスイッチする
などになるかと思います。
ご回答ありがとうございます。
自分で調べた限りでは、sudo を使うのかな?と思っていました。
しかし、記載するシェルスクリプトのイメージがわかず足踏みしています。
もし、sudoを使用して私がやりたい事の参考になるページをご存知でしたら教えてください。
expect は知りませんでした。
セキュリティ面のメリット・デメリットを含めて調べてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL postgreSQLをbashで実行する際に「MORE」表示をなくす方法 1 2023/05/08 21:42
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- UNIX・Linux shellscript内のコマンドを、sudo(toor)として実行 2 2022/09/23 15:05
- サーバー ログオンユーザーがいない場合に自動再起動 1 2022/09/28 09:53
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- Windows 10 だいたいの能力はどのくらいでしょうか 3 2023/03/05 17:18
- その他(コンピューター・テクノロジー) 以下の用語がわかんないので教えてください!!! ①プロトコルの変換をする装置。トランスポート層からア 1 2023/07/05 09:10
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
党首討論を見てます。 この石破...
-
エクセルの表にヘンな枠が・・・
-
python IDLEで訂正、削除のやり...
-
SONYの音楽ソフト「x-アプリ」...
-
SPI非言語の問題 解説お願いします
-
バッチファイル内の各コマンド...
-
pingは正常なのにtracerouteで...
-
ACCESSレポートをPDFに出力したい
-
Linux のシェルスクリプトの強...
-
CRONを隔週の日曜日に実行させたい
-
Macでlsした際の、ファイル名の...
-
sudoで実行したコマンドの実行...
-
最初の一度しか実行されないロ...
-
CLASSPATHの確認方法について
-
bashで変数にパイプを入れ、コ...
-
windows10のごみ箱をrd /s /q C...
-
文化祭の書類で不備がありました
-
Openイベントを開始させないで...
-
信頼済みサイト登録をbatファイ...
-
エクセルからアクセスのプロシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SONYの音楽ソフト「x-アプリ」...
-
エクセルの表にヘンな枠が・・・
-
pingは正常なのにtracerouteで...
-
Linux のシェルスクリプトの強...
-
シャットダウンバッチがうまく...
-
windows10のごみ箱をrd /s /q C...
-
SPI非言語の問題 解説お願いします
-
バッチファイル内の各コマンド...
-
信頼済みサイト登録をbatファイ...
-
最初の一度しか実行されないロ...
-
python IDLEで訂正、削除のやり...
-
emacsでCtrl+zを押してサスペン...
-
時間のマクロで最初はその時間...
-
Openイベントを開始させないで...
-
後先ってやっぱり考えて行動し...
-
sudoで実行したコマンドの実行...
-
ROBOCOPY cmdで正常に処理され...
-
ACCESSレポートをPDFに出力したい
-
PowerShellのスクリプト実行に...
-
LD_LIBRARY_PATHって?
おすすめ情報