パスワードプロンプトに応答するスクリプトの作成

パスワードプロンプトに応答するスクリプトの作成

プロンプトに応答するシェルスクリプトを作成しています。たとえば、ファイルを実行すると、実行されたファイルはユーザーに次のメッセージを表示します。

パスワードを入力してください:

その後、スクリプトはそのプロンプトの一部のコンテンツを自動的に配置したいと思います。

私は「期待」が私が使用できるものであることを理解しています。ところで、SSHを使用していますが、接続しようとしているサーバーに対するroot権限がなく、そこに権限がないため、「expect」をインストールできません。

2つのオプションがあります。予期しないプロンプトに応答する他の方法はありますか?または、SSH接続の外側のローカルコンピュータでスクリプトを実行してから、このSSHコンピュータでスクリプトを実行できますか?

パスワードに000から999(およびその間のすべての数字)を入力しようとしています。だから私はこれを行うためにループを構築しています。 (どのようにするかはわかりますが、プロンプトに応答する方法はわかりません。)予想以上にできることがあるかどうかはわかりません。これを行う方法があるかどうかを知りたいです。

ベストアンサー1

Expectをインストールする必要はありません。サーバーから。expectシェルスクリプトで実行する代わりに、Expectスクリプトを作成してください。 Expectスクリプト自体がSSHクライアントを作成してサーバーに接続し、数字を繰り返すようにします。

労力を減らすために、サーバーにログインしているセッションを記録し、を使用していくつかの数字を試すことができますautoexpect。たとえば、生成されたスクリプトを別の名前で保存し、wargame.expここにループを追加します。バラよりhttps://www.tcl.tk/man/tcl8.5/tutorial/Tcl10.html(スクリプトはTclコードであると予想されます)。

おすすめ記事