Javaのバックエンドの開発 - リモートシェルスクリプトのコード例を呼び出します

  // シェルスクリプトは、リモートサーバー呼び出しを
  リモートサーバーのIPアドレス:// IP
  リモートサーバのログインユーザ名://ユーザ名
  リモートログインサーバーのポート番号://ポート
  // CMD:ログイン後にコマンドを
公共のレスポンス<ブール> runRemoteShell(文字列、文字列のユーザ名、ポート整数、IP文字列CMD)スローJSchExceptionは、IOException { 試み{ JSCH JSCH = 新しい新しいJSCHを(); // エンドポイントAケーススタディは、実際の状況に応じて他の地域に記入してください。 エンドポイント=文字列「http://oss-cn-shanghai.aliyuncs.com」; // アリクラウドアクセスキーメインアカウントは、リスクが高いと、すべてのAPIのへのアクセス権を持っています。それは強くあなたがアカウントを作成し、RAMのAPIへのアクセスや日常の運用および保守を使用することをお勧めします、してくださいログインhttps://ram.console.aliyun.com RAMアカウントを作成します。 AccessKeyId =文字列"********" ; 文字列accessKeySecret = "********" ; 文字列bucketName = "********" ; 文字列のobjectName =「**** **** " ; // OSSClientインスタンスを作成します。 OssClient = OSS 新しい新OSSClientBuilder()ビルド(エンドポイント、accessKeyId、accessKeySecret);. // ローカルファイルへのダウンロードOSSファイル。オーバーライド指定したローカルファイルが存在する場合、それは新しい存在しません。 ossClient.getObject(新新 GetObjectRequest(bucketName、objectNameに)、新しい新しいファイル( "data.pem" )); // 近いOSSClient。 ossClient.shutdown();

       //キーファイルはアリクラウド上のオスからダウンロード jsch.addIdentity(
"data.pem" ;) セッションセッション = jsch.getSession(ユーザー名、IP、ポート); session.setConfig( "StrictHostKeyChecking"、 "NO" ); セッション.connect();                   //セッションを確立します

ChannelShell channelShell
=(ChannelShell)session.openChannel( "シェル" )。 channelShell.connect();        InputStream InputStreamは
= channelShell.getInputStream()。 OutputStreamのOutputStream = channelShell.getOutputStream()。 PrintWriterのPrintWriter = 新しいPrintWriterの(のOutputStream)。//建立通道 printWriter.println(CMD); //输入命令 printWriter.println( "終了" ); //输入结束操作命令 printWriter.flush(); 中BufferedReaderの = 新しいをBufferedReader(新しいですInputStreamReaderの(のinputStream)); 文字列MSG; //プリントサーバのリモート・コンソール・ディスプレイ上の結果 ながら((MSG = in.readLine())!= NULL ){ のSystem.out.println(MSG); } in.close (); 戻り値 新しい新しいレスポンス<>( "成功したスクリプトの実行" 、Response.SUCCESS_CODEは、にBoolean.TRUEの); } キャッチ(JSchException E){ e.printStackTrace(); 戻り値 新しい新しいレスポンス<>( "リモートサーバーへの署名に失敗しました" ) ; } }

 

おすすめ

転載: www.cnblogs.com/bobbycheng/p/11867238.html