2016-04-04 17 views
0

JAVA APIを使用してリモートサーバー上でシェルスクリプトを実行しようとしています。リモートサーバーには認証があるので、ユーザー名とパスワードを渡してログインする必要があります。 私は、あなたがその解決策を出そうとしている場合に備えて、「sshpass」をインストールするためのこれらのマシン(ソースもデスティネーションもない)の権利を持っていません。JAVA APIを使用してリモートサーバーでシェルスクリプトを実行する

これを行うにはどのような方法が最適ですか?

+0

標準JDKのみに制限されていますか? – KevinO

+0

はい私はjdkを使っています。 – david419

+0

これはsshpassについてのあなたのコメントに基づいてsshを介してですか? IMHO、リモートマシン上でスクリプトを呼び出すには、[JSch](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved= 0hUKEwj1-daRuvXLAhVBVGMKHRz-AW8QFggcMAA&url = http%3A%2F%2Fwww.jcraft.com%2Fjsch%2F&usg = AFQjCNFEETFDy_PvFq6a3L_sqnj_u5o-ZQ&sig2 = vnk4MnTC284FH-yj7_ddZQ&bvm = bv.118443451、d.cGc)。私たちはいつも仕事でJSchを使います。一から書いてみると、考えなければならないことがたくさんあります。つまり、標準JDKのクラスのみに制限されているのですか、または外部ライブラリを使用できますか? – KevinO

答えて

4

JSchは、リモートコマンド(またはシェルスクリプト)の実行を含む、sshを介したリモート接続をサポートするための優れたライブラリです。

JSch Examples、 にJSchを使用する方法の例が多数ありますが、特にExecに注意してください。そのベースに

は、どのような1が行うことは次のとおりです。

  1. Session
  2. 開きたい

などのストリームとSession

  • ディール内Channelを作成した資格情報に
  • を入手します入力中に、OPはさらに質問と例を投稿しました。 http://www.codesandscripts.com/2014/10/java-program-to-execute-shell-scripts-on-remote-server.htmlの例も同様です。サーバーにスクリプトを押し、chmod u+xexecを送信してください、リモートマシンにファイルを移動するscpまたはsftp(私たちは、より信頼性があることがわかってきました後者)のいずれかを使用して起動するよう

    、スクリプトを起動します。

  • 関連する問題