java - shell 提示使用 jsch 触发多个命令

标签 java eclipse ssh jsch

我可以使用 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); 

最佳答案

请在此处查看我的答案,它包含指向官方 JSCH 示例的链接,用于使用 jsch 创建交互式 ssh session 。我还发布了对其程序的改进,使其能够在您退出时正确关闭 session 。

Never ending of reading server response using jSch

关于java - shell 提示使用 jsch 触发多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20420579/

相关文章:

当 18、15 和 8 已经下载时需要 android target 16?

python - 终止正在运行的 Python 应用程序

bash - 通过 Plink 在 Windows 命令行上运行 shell 脚本(带参数)

Java/JDBC MySQL 数据库 - 设计查询

java - 尝试将 JDBC 与 Eclipse : Unsupported major. 次要版本 51.0 一起使用

java - 如何解决 Android Studio 中的 Phenotype API 错误?

eclipse - 在 Eclipse 的 Project Explorer 中按类型排序?

python - 在 ssh 中导入 pyplot 时,TypeError 构造函数返回 NULL

java - 项目 'PrjName' 缺少所需的库 : 'libs/android-viewbadger.jar' PrjName

java - 可执行Jar : Issue in accessing pom while executing jar