使用纯 Scala API 或 Ammonite API 的 Scala 程序中的 SSH 命令
SSH command from within a Scala program with pure Scala API or Ammonite API
我想执行一个 SSH 命令,然后从 scala 中在远程机器上执行一些命令。 scala API 和 Scala Ammonite 都提供了执行系统命令的方法。但是我在使用 ssh 时遇到问题。我如何 运行 一个 ssh 命令,然后 运行 命令并从我的 scala 程序中取回结果?
编辑1
在 post Problems using scala to remotely issue commands via ssh
中找到了以下内容
"ssh user@Main.local 'mkdir Desktop/test'".!
我想知道如何使用 scala Amonite API 完成此操作。我一直找不到路
到目前为止,我已经找到了我想要的 Scala API:
http://www.scala-lang.org/api/2.12.1/scala/sys/process/ProcessBuilder.html
例如
import scala.sys.process.ProcessBuilder
import scala.sys.process._
import scala.sys.process
"ssh 192.168.0.103 ls IdeaProjects" lineStream
它就像一个魅力从我的一台机器执行到另一台它完美地工作。这需要预先设置一个无短语的 ssh。我在两台机器上的用途与其他机器相同,我也必须指定用户
如果有人可以补充答案并解释如何使用菊石API,那就太好了。
您可以使用 Cable 来完成您的 SSH 任务,
Cable 支持 ~/.ssh 配置以及全局 ssh 客户端配置。
Cable还支持跳过网络、跳过堡垒主机。
Cable 允许在一个主机内和多个不同主机之间组合任务。
我想执行一个 SSH 命令,然后从 scala 中在远程机器上执行一些命令。 scala API 和 Scala Ammonite 都提供了执行系统命令的方法。但是我在使用 ssh 时遇到问题。我如何 运行 一个 ssh 命令,然后 运行 命令并从我的 scala 程序中取回结果?
编辑1
在 post Problems using scala to remotely issue commands via ssh
中找到了以下内容"ssh user@Main.local 'mkdir Desktop/test'".!
我想知道如何使用 scala Amonite API 完成此操作。我一直找不到路
到目前为止,我已经找到了我想要的 Scala API: http://www.scala-lang.org/api/2.12.1/scala/sys/process/ProcessBuilder.html 例如
import scala.sys.process.ProcessBuilder import scala.sys.process._ import scala.sys.process "ssh 192.168.0.103 ls IdeaProjects" lineStream
它就像一个魅力从我的一台机器执行到另一台它完美地工作。这需要预先设置一个无短语的 ssh。我在两台机器上的用途与其他机器相同,我也必须指定用户
如果有人可以补充答案并解释如何使用菊石API,那就太好了。
您可以使用 Cable 来完成您的 SSH 任务, Cable 支持 ~/.ssh 配置以及全局 ssh 客户端配置。 Cable还支持跳过网络、跳过堡垒主机。 Cable 允许在一个主机内和多个不同主机之间组合任务。