サンプルコード
@Grab(group='ch.ethz.ganymed', module='ganymed-ssh2', version='262') import ch.ethz.ssh2.* host = "your-linux-box" username = "user" // puttygenを使用している場合は、Conversions -> Export OpenSSH keyを選択する privateKey = "openssh_private_key" // サーバに接続 conn = new Connection(host) conn.connect() if( !conn.authenticateWithPublicKey(username, new File(privateKey), null) ){ throw new Exception("authentication failed.") } // コマンド実行 sess = conn.openSession() sess.execCommand("""ls -alF""") // 標準出力 stdout = new BufferedReader(new InputStreamReader( new StreamGobbler(sess.getStdout()), "UTF-8")) stdout.withCloseable{ it.eachLine { line -> println line } } // 標準エラー出力 stderr = new BufferedReader(new InputStreamReader( new StreamGobbler(sess.getStderr()), "UTF-8")) stderr.withCloseable{ it.eachLine { line -> println line } } sess.close() conn.close()
○関連項目
0 件のコメント:
コメントを投稿