Scenerio:sshを介してJavaプログラムからリモートマシンでコマンドを実行したい(開発マシンでOpenSSHを使用しています)。また、「expect」のようにキーを設定するのではなく、パスワードを渡してssh接続を確立したいと思います。
問題:パスワードログインのような「期待」を行おうとすると、ProcessBuilderで作成されたプロセスにパスワードプロンプトが表示されないように見えます。通常の非sshコマンド(例:'ls')を実行すると、ストリームを取得して、それらとうまく対話できます。標準エラーと標準出力を1つのストリームに結合していますredirectErrorStream(true);
したがって、標準エラーでそれを見逃していません...「-v」オプションを指定してsshを実行すると、ストリーム内のすべてのログが表示されますが、プロンプトは表示されません。このような目的でProcessBuilderを使用するのはこれが初めてです。Python、Perl、または古き良き期待を使用する方が簡単だと思いますが、上司は既存のJavaプログラム内で取得しようとしているもの(リモートログファイルと実行中のスクリプト)を利用したいので、行き詰まっています。
助けてくれてありがとう!