1

xdotoolスクリプトから移動できるかどうかを確認しようとしていexpectます。

expectこのspawnコマンドでスクリプトを使用します

ssh root@IP_ADDRESS -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no

待機します:

expect "$login@$addr\'s password:"

sshつまり、パスワードを入力せずにサーバーにログインできる非常に単純なスクリプトです。しかし、これを超えてexpect「正確な」方法で物事を行うことはできません.間違ったコマンドを繰り返し送信するのを見てきました.単純なタスク以上の信頼性がないようです.

xdotoolもっと良い仕事ができないかと考えていました。たとえばxdotool、端末で文字列をリッスンして待機できる場合:

"$login@$addr\'s password:"

これはできますか?

現時点で考えられる唯一の方法は、sleepまたはそのような性質のものをスクリプトに追加して、ログインを待機させることですが、失敗する可能性があります。

4

1 に答える 1

2

私は、 Jordan Sissel のxdotoolスクリプト、構成ファイル、ハック、およびアプリケーション (++ Jordan!) のほとんどすべてを愛しているのと同じくらい、あなたがここで探しているものではないと思います。、およびバリアントがあり、スクリプトのロジックは、それらの言語が許す限り洗練され、堅牢にすることができます。 xdotoolexpecttclpythonperl

スクリプトを再検討して、発生する可能性のあるエラーとログイン プロンプトの変更をより正確に処理できるようにします。2 番目に行うことは、ルート ログインを許可しないことですssh(実際、これが最初に行うことです)。SSH を使用している場合は、SSH 構成ファイル、公開鍵暗号化、Kerberos、LDAP、およびセキュリティ ポリシーとシステム管理の観点から便利で安全なログインを簡単に管理できるその他のアプローチをフルに活用できます。

それをすべて行ってから、どのように使用できるかを考えてくださいxdotool-なぜならxdotool岩だからです!

ps:ssh_configマニュアル ページを確認してください。ここで達成しようとしていることに対して、安全で便利な構成オプションが多数あります。

于 2013-08-19T18:31:39.127 に答える