我有一个我可以访问的服务器列表,我需要每 30 天至少登录一次以保持我的访问权限,因此对于我使用 JSch 的第一个程序,我想创建一个程序,该程序将包含以下列表主机,用户名和密码,并让我登录和退出每个服务器。
我能够很好地连接到服务器,甚至可以执行命令,但是如果我运行 Unix 命令“last”,它不会显示我已经登录到服务器。任何关于为什么在我运行程序时它不记录但如果我使用 putty 登录它会记录的任何见解将不胜感激。
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();