集中式python脚本,通过SSH配置多台机器



我想要一个 python 脚本来自动配置一组机器。 让我们假设:

  • 我们有 3 台 ubuntu 机器:M1、M2 和安装在M2上的虚拟机虚拟机
  • M1可以通过SSH到达M2
  • M2 可以通过 SSH 访问虚拟机

现在,我在每台机器(m1.sh、m2.sh 和 vm.sh(上本地存储了一个 bash 脚本。

  • 要从 M2 配置 M1,我在 m1.sh 上运行它:ssh M2 "bash m2.sh"
  • 要从 M2 配置 VM,我在 m2.sh 上运行以下命令:ssh VM "bash vm.sh"

有没有可能的方法可以让一个只在 M1 上运行的集中式 python 脚本,而不必在每台机器上都有一个脚本?

任何帮助将不胜感激。

根据你想要配置的内容,如果你严格限制在Python上,你可以使用Paramiko并从M1执行命令。 或者,您可以使用 Landscape 来配置和管理计算机。

Fabric 库正是针对此用例而设计的。它建立在Python SSH库Paramiko之上,并提供了一种远程运行Python的简单方法,而无需复制脚本。

非常感谢您的帮助。

我已经通过设置一些转发规则解决了我的问题,如此处所述。

Paramiko是我正在使用的图书馆。

最新更新