【发布时间】:2018-01-26 14:53:27
【问题描述】:
如果有人对此问题有实际的解决方案,我将不胜感激。到目前为止,只要通道之一“连接”,我使用的所有实现都会关闭会话,这意味着什么。像大多数人一样,我需要能够编写 ssh 交互脚本,这意味着我需要使用仍然活跃的通道进行操作的结果我不是在寻找具有“cmd1;cmd2;cmd3”类型的命令..
我能想到的最好的例子是,如果您试图通过文件系统进行浏览。
如果每个命令都是一个新会话,那么您将无处可去,因为在每个新会话中,您都会回到第一格。
在命令行中,当您键入操作时,ssh 会话保持打开状态,为什么所有 java 实现与这种方法有如此大的差异,这超出了我的理解。如果我找不到答案,我的下一步实际上是使用 java 的命令 shell 并从那里进行交互,而不是使用 java ssh 库..
【问题讨论】:
-
我认为使用 ProcessBuilder docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html 是一个好的开始你也可以在这里找到一些例子:stackoverflow.com/questions/6856028/…
-
是的,非常感谢您的快速回答,我也在研究这个问题,但最终比在 python 中使用 paramiko 并在我的 java 进程和(python)ssh 控制台之间创建一个 rabbit mq 接口更复杂。