2

SSH を使用してリモート サーバーでスクリプトを実行したいと考えています。

システムコマンドを使用して適切に実行されるすべてのコードを作成しました。

リモート サーバーでコードを実行するには、リモート サーバーにインストールする必要があるいくつかのパッケージが必要です。

そのためには、ROOT ユーザーとしてリモート ターミナルにログインする必要があります。Rubyスクリプトを使用してやろうとすると、次のような結果になります

[not_root_user@remote_server]$ su
Password: 

次のようなリモートサーバーにログインできるコマンドが必要です

[not_root_user@remote_server]$ su -p ******
[root@remote_server]# 

パスワードを受け入れるLinuxコマンドはありますか?

4

2 に答える 2

0

スクリプトをルートとして機能させたいですか?

あまりお勧めしませんが、expect を使用できます: http://en.wikipedia.org/wiki/Expect

そこにある wiki には、ニーズに合わせて調整できる基本的な自動化された telnet セッションのウォークスルーがあります。

ただし、root パスワードをプレーン テキストで使用することになるため、セキュリティ上の問題が発生する可能性があります。あなたがその道を行くなら、このパッケージがインストールされたら、そのスクリプトのすべてのコピーをユニバースから確実に消去します.

しかし、直接のルート ログインを許可している場合は、すでにセキュリティ上の問題が少し発生しています。Sudo は、私が使用したすべての最新の Linux ディストリビューションですぐに使用できます。可能であれば、それを使い続けます。

同様に味気ない別のオプションは、ssh を介してパスワードなしで root から root へのログインを設定することです。

于 2012-04-19T14:40:31.937 に答える
0

Sudo は、これを回避するための私の最初のオプションです。最良の選択肢ではありませんが。

SSH でキー認証を使用することもでき、パスワード認証がオフの場合はパスワードを入力する必要はありません。

于 2012-04-19T14:44:21.113 に答える