【问题标题】:Getting IO exception when running Linux command in Java在 Java 中运行 Linux 命令时出现 IO 异常
【发布时间】:2014-12-16 16:13:48
【问题描述】:

我正在通过 SSH 连接到 Linux 机器的 windows 中编写一个 java 应用程序。 我收到以下异常:

java.io.IOException: Cannot run program ssh: CreateProcess error=2, cannot find specified file.

代码:

Process p = Runtime.getRuntime().exec("ssh root@xxx.xxx.xxx.xxx ls");

在 cmd 中运行此命令时,一切正常,但不是通过 java。 SSH 在我的 Path 环境变量中。

【问题讨论】:

  • 什么是客户端操作系统?
  • Windows,如第一行所述
  • 你能分享完整的代码吗?正如您的问题一样,只有流程执行。
  • 尝试使用 jsch 通过 ssh 运行命令。使用Shell 频道
  • 是的。我将 RSA 公钥添加到我的远程 Linux 服务器。同样的命令在shell中运行,为什么在java中没有运行?

标签: java linux ssh


【解决方案1】:

你需要一个解释器来理解ssh命令:

Process p = Runtime.getRuntime().exec(new String[]{"cmd", "ssh root@xxx.xxx.xxx.xxx ls"});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-31
    • 2011-01-22
    • 2011-05-30
    • 2018-05-14
    • 2018-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多