是否可以通过 Java 程序远程执行命令 (ssh)
Is it possible to execute commands remotely (ssh), through a Java program
我希望通过某些 (java) API ssh 连接到 Ubuntu 服务器。这可能吗?
这正是我要找的东西:
- 我已经在 ubuntu 机器上安装了 OpenStack。
- 使用 ubuntu 服务器启动了一个实例。
- 已在此虚拟机上安装 android SDK。
- 通过 ssh 进入这个虚拟机,我能够创建一个 AVD 和
运行 一个模拟器(无头)。
我打算做的是提供一些 Web 客户端,通过单击按钮启动模拟器(考虑到一切都已经设置好,即虚拟机已启动并且 运行 安装了 SDK)。
我想我需要执行启动模拟器的命令。但是是否可以通过一些 (java) API 来做到这一点?
我查看了 openstack4j 和 JClouds,但找不到太多。
我试图弄清楚它正在使用一些 ssh 客户端库。是吗?
我在这里遗漏了什么吗?
看看这个 CloudServersPublish.java 例子,特别是 configureAndStartWebserver()
方法。
还要注意 SshjSshClientModule
是如何添加到构造函数中的 ComputeServiceContext
的。
您还需要确保您拥有 jclouds-sshj
依赖项。
<dependency>
<groupId>org.apache.jclouds.driver</groupId>
<artifactId>jclouds-sshj</artifactId>
<version>1.9.0</version>
</dependency>
我希望通过某些 (java) API ssh 连接到 Ubuntu 服务器。这可能吗?
这正是我要找的东西:
- 我已经在 ubuntu 机器上安装了 OpenStack。
- 使用 ubuntu 服务器启动了一个实例。
- 已在此虚拟机上安装 android SDK。
- 通过 ssh 进入这个虚拟机,我能够创建一个 AVD 和 运行 一个模拟器(无头)。
我打算做的是提供一些 Web 客户端,通过单击按钮启动模拟器(考虑到一切都已经设置好,即虚拟机已启动并且 运行 安装了 SDK)。
我想我需要执行启动模拟器的命令。但是是否可以通过一些 (java) API 来做到这一点? 我查看了 openstack4j 和 JClouds,但找不到太多。 我试图弄清楚它正在使用一些 ssh 客户端库。是吗?
我在这里遗漏了什么吗?
看看这个 CloudServersPublish.java 例子,特别是 configureAndStartWebserver()
方法。
还要注意 SshjSshClientModule
是如何添加到构造函数中的 ComputeServiceContext
的。
您还需要确保您拥有 jclouds-sshj
依赖项。
<dependency>
<groupId>org.apache.jclouds.driver</groupId>
<artifactId>jclouds-sshj</artifactId>
<version>1.9.0</version>
</dependency>