アクセスを維持するために少なくとも 30 日に 1 回はログインする必要があるサーバーのリストがあるため、JSch を使用する最初のプログラムでは、サーバーのリストを取り込むプログラムを作成したいと考えました。ホスト、ユーザー名とパスワード、および各サーバーへのログインとログアウト。
サーバーに正常に接続でき、コマンドを実行することもできますが、「最後に」Unix コマンドを実行しても、サーバーにログインしたことが示されません。プログラムを実行するとログに記録されないが、パテを使用してログインするとログに記録される理由についての洞察をいただければ幸いです。
JSch jsch = new JSch();
Session session = jsch.getSession(userId, host, port);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.connect(timeout);
Channel channel = session.openChannel("exec");
((ChannelExec)channel).setCommand(command);
channel.connect();
InputStream commandOutput = channel.getInputStream();
int readByte = commandOutput.read();
while(readByte != 0xffffffff)
{
outputBuffer.append((char)readByte);
readByte = commandOutput.read();
}
channel.disconnect();
session.disconnect();