我想执行SSH命令,然后在scala中的远程计算机上执行一些命令。 scala API和Scala Ammonite都提供了执行系统命令的方法。但是我遇到了ssh的问题。我如何运行ssh命令然后运行命令并从我的scala程序中取回结果?
在帖子Problems using scala to remotely issue commands via ssh
中找到以下内容" ssh user@Main.local' mkdir桌面/测试'"。!
我想知道如何使用scala Amonite API完成这项工作。我找不到方法。
答案 0 :(得分:0)
到目前为止,我发现了我想要的Scala API: http://www.scala-lang.org/api/2.12.1/scala/sys/process/ProcessBuilder.html e.g。
import scala.sys.process.ProcessBuilder import scala.sys.process._ import scala.sys.process "ssh 192.168.0.103 ls IdeaProjects" lineStream
它作为一个魅力从我的一台机器执行到另一台它完美无瑕地工作。这需要提前设置无短语ssh。我在两台机器上使用同样的用途我也必须指定用户
如果有人可以补充答案,并解释如何使用非常棒的Ammonite API。
答案 1 :(得分:0)
您可以使用 Cable 来完成您的 SSH 任务, Cable 支持 ~/.ssh 配置以及全局 ssh 客户端配置。 Cable 还支持跳过网络,跳过堡垒主机。 Cable 允许在一个主机内以及跨多个不同主机组合任务。