2012-04-19 5 views
2

SSHを使用してリモートサーバ上でスクリプトを実行します。ruby​​スクリプトを使用してROOTユーザとしてLinux端末にログインするには

システムコマンドを使用して正しく動作するすべてのコードを記述しました。

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

これを行うには、リモート端末にROOTユーザーとしてログインする必要があります。私はRubyスクリプトを使用して実行しようとすると私は、私はすべてのLinuxは

[[email protected]_server]$ su -p ****** 
[[email protected]_server]# 

を次のようにリモートサーバ何かにログインすることがありますすることができます使用して、いくつかのコマンドが必要

[[email protected]_server]$ su 
Password: 

を次のように何かを得ますその中のパスワードを受け入れるコマンドですか?

答えて

0

あなたのスクリプトはrootとして動作しますか?

それは本当にお勧めしませんが、あなたが期待する使用することができます:あなたはあなたのニーズに適応でき、基本的な自動化されたTelnetセッションのためのウォークスルーがありhttp://en.wikipedia.org/wiki/Expect

ウィキ。

ただし、セキュリティ上の問題の可能性があるプレーンテキストのルートパスワードを使用します。あなたがそのルートに行くなら、このパッケージがインストールされたら、私はそのスクリプトのすべてのコピーを宇宙から消してしまいます。

しかし、直接ルートログインを許可している場合は、すでにセキュリティ上の問題があります。 Sudoは、私が使っていた現代のLinuxディストリビューションのすべてですぐに動作します。可能であれば、それに固執します。

同じように無益なもう1つのオプションは、ssh経由でパスワードなしでroot-to-rootログインを設定することです。

+0

'su'をスクリプトに' expect'を使うことができないのですか? 'stdin'ではなく、ttyからの入力を得るためにいくつかの魔法を使うと信じています。 – cha0site

+0

あなたはローカルシステム上でexpectスクリプトを起動しますが、少なくとも5〜6年前には、私はそれをラボでやったことがあります。 – TaoJoannes

+0

はい、しかし、質問者はリモートシステム上でコマンドを実行するために 'system'呼び出しを使用しているので、スクリプトがそこで実行されていると仮定します。いずれの場合も – cha0site

0

須藤さんが私の最初の選択肢です。最良の選択肢ではありませんが。

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

関連する問題