通过SSH

时间:2018-07-03 07:21:09

标签: python bash ssh

我想要一个可以自动配置一组计算机的python脚本。 假设:

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

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

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

有没有办法让仅在M1上运行的集中化python脚本,而不必在每台计算机上都有脚本?

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

要完全取决于要配置的内容,并且如果严格限于Python,则可以使用Paramiko并从M1执行命令。或者,您可以使用Landscape来配置和管理计算机。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

非常感谢您的帮助。

我已经按照here所述设置了一些转发规则,从而解决了我的问题。

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