什么是好的现代并行 SSH 工具?

什么是好的现代并行 SSH 工具?

我听说过这两个,pssh而且clusterssh它们都很流行,但我想在这里讨论一下,看看社区对这些工具的体验如何?有哪些陷阱?有没有不错的技巧或用例?

答案1

我使用过 pssh,它很简单,而且效果很好。它对于快速查询非常有用。

如果您发现自己正在管理服务器,我建议使用一些更强大且略有不同的领域(配置管理),例如 Puppet 或 CFEngine。

答案2

知道你想做什么很重要。如果你想在很多服务器上运行“apt-get update”,clusterssh 据说是一个易于使用且有效的工具。请参阅 Kyle Rankin 关于 clusterssh 的文章Linux 杂志

如果你在不同的服务器上工作需要逻辑循环,放置、获取或以其他方式与每个主机交互(或者可能由于错误情况而必须与主机交互),则可以使用以下工具织物(刚刚发布 1.0 版)非常有价值。如果你是 Python 爱好者,你可能会最喜欢使用 Fabric。

无论哪种情况,人们可能都希望在受影响的远程服务器上执行相当简单的任务,并专门处理任何问题主机。然而,Fabric 提供了更多选项来处理变化。

通常处理不好的一件事是处理网关主机后面的多个主机,需要先连接到网关,然后从那里进行端口转发。因为 ssh 本身做这件事很简单,你可以将文件设置.ssh/config为类似

Host gateway
    Port 9000
    User remoteadmin
    HostName datacentre1.com
    # mail
    LocalForward 9100 192.168.9.11:22
    # phones
    LocalForward 9101 192.168.9.12:22

Host dc1mail
    Port 9100
    Host 127.0.0.1
    User localadmin

Host dc1phones
    Port 9201
    Host 127.0.0.1
    User localadmin

为了实现与ssh dc1mail 'cmd'&&等价的功能ssh dc1phones 'cmd',首先必须提出ssh gateway。如果 clusterssh 和 Fabric 等工具允许将其作为其工具的一部分来完成,那就太好了。当然,您可以自己手动完成。

答案3

SSH 电动工具(sshpt)是为并行 SSH 设计的没有要求用户设置预共享 SSH 密钥。它优于 pssh 和 clusterssh,因为它支持通过 sudo 执行,还可以复制文件并在之后执行它们(也可以通过 sudo 执行)。默认情况下,它以 CSV 格式输出结果,但 sshpt.py 兼作可导入的 Python 模块,因此您可以在自己的程序中使用它(我曾经在我以前的雇主那里将它用作定制的基于 Web 的报告工具的后端)。

答案4

我使用 cssh,它运行起来非常顺畅。您可以轻松地在多台服务器上编辑同一个文件,然后只检查一个窗口并更改特定变量的实例值。对每个窗口重复此操作,在 vim 中点击 :wq,瞧!工作完成了 ;)

它也是进行能力升级的绝佳工具。

相关内容