我可以使用jsch库成功连接到我的远程ssh服务器并触发一个命令并查看其结果。我正在使用" exec"发送' ls'命令并能够查看文件列表。有没有办法打开shell提示符,以便我可以向服务器发出多个命令。
JSch jsch=new JSch();
Properties props = new Properties();
props.put("StrictHostKeyChecking", "no");
Session session;
try {
session = jsch.getSession(user, host,22);
session.setConfig(props);
session.setPassword(password);
session.connect(20000);
Channel channel=session.openChannel("exec");
((ChannelExec)channel).setCommand("ls");
channel.setInputStream(null);
((ChannelExec)channel).setErrStream(System.err);
InputStream in=channel.getInputStream();
channel.connect(20000);
答案 0 :(得分:0)
在这里查看我的答案,它包含一个指向官方JSCH示例的链接,用于创建与jsch的交互式ssh会话。我还对他们的程序发布了一项改进,允许它在退出时正确关闭会话。