![如何以自动化方式启动多个终端会话并根据配置文件/脚本 ssh 到机器](https://linux22.com/image/1603139/%E5%A6%82%E4%BD%95%E4%BB%A5%E8%87%AA%E5%8A%A8%E5%8C%96%E6%96%B9%E5%BC%8F%E5%90%AF%E5%8A%A8%E5%A4%9A%E4%B8%AA%E7%BB%88%E7%AB%AF%E4%BC%9A%E8%AF%9D%E5%B9%B6%E6%A0%B9%E6%8D%AE%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%2F%E8%84%9A%E6%9C%AC%20ssh%20%E5%88%B0%E6%9C%BA%E5%99%A8.png)
我想在 Linux 中自动启动多个终端并 ssh 到某些机器。下面是我想要解决的问题。我想运行一个脚本,其中包含我想 ssh 的机器列表 {例如 m1、m2、....m10}。因此,当我运行脚本/启动器时,它应该在同一窗口中打开终端(使用终结器),ssh 到上述机器,如果我提到了密码,甚至登录到这些机器。我该如何实现这一点,因为我每天需要从终结器 ssh 到数十台机器,但我懒得输入每台机器的 IP 并 ssh 到它们。此外,我希望能够维护许多这样的启动器/脚本,因为它们可能属于不同的集群。例如:一个启动器应该打开 6 个终端并 ssh 到属于同一逻辑会话(例如集群)的 m1、m2、m3、m4、m5,另一个启动器应该在同一会话中打开 4 个终端并 ssh 到 x1、x2、x3 等
答案1
pexpect 可以成为一种优雅的工具,实现您似乎正在寻找的自动化 https://pexpect.readthedocs.io/en/stable/
答案2
您可以通过将给定命令传递给 gnome-terminal(或相关程序)来运行该命令。请看这里: https://askubuntu.com/a/974782/990192