1

JAVA API 経由で Amazon EC2 端末に接続し、sudo 操作を実行したいと考えています。インターフェイスが非常にシンプルで使いやすいことがわかったため、SSHJ ライブラリを使用することになりました。良い点は、このライブラリを介して sudo 操作を実行できることです。サンプルコードは次のとおりです。

// 新しいセッションを開始する session = sshClient.startSession(); session.allocatePTY("vt220", 80,24,0,0,Collections.emptyMap());

Command cmd = null;
String response = null;
// your allocating a new session there
try (Session session = sshClient.startSession()) {

     cmd = session.exec("sudo service riak start");
     response = IOUtils.readFully(cmd.getInputStream()).toString();
     cmd.join(timeout, timeUnit);
} finally {
    if (cmd != null) 
        cmd.close();
}

ただし、返された応答には制御文字が含まれており、それらをプレーンテキストに変換したいと考えていました。

  Starting riak: [60G[[0;32m OK [0;39
4

1 に答える 1