如何从一台计算机关闭局域网内的所有计算机

如何从一台计算机关闭局域网内的所有计算机

我有 5 个桌面,全部运行 Ubuntu 14.04 64 位。

所有设备都通过 LAN 连接到互联网(使用 dlink 交换机),

我想从一台计算机关闭所有计算机,可以吗?如果可以,如何实现?

答案1

如果你可以通过 SSH 连接到每台计算机(我认为这是这里任何答案的基本要求),那么你就可以 ping 掉关机dbus命令每台台式机。您可能需要调整权限(也显示在该问题及其答案中)。

我们需要做的就是对每台计算机进行循环。以下是示例。

for ip in 192.168.0.{10,15,52,62,12}; do ssh user@$ip 'dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop' done

除非您设置了 SSH 密钥身份验证,否则每次迭代都必须提供密码。听我的建议,设置基于密钥的身份验证

最后,以防万一你不理解语法,192.168.0.{10,15,52,62,12}Bash 扩展将扩展为:

192.168.0.10
192.168.0.15
192.168.0.52
192.168.0.62
192.168.0.12

如果您愿意,您可以列出完整的 IP。无需引用它们。

答案2

尝试使用类似 gsh 的东西,在 /etc/ghosts 中设置您的主机,然后进行 ssh 密钥交换。

然后你的命令将类似于:gsh init 0

相关内容