如何在单个 CLI 命令中通过 ssh 重启多台远程机器

How to reboot several remote machines via ssh in a single CLI command

我想要实现的是重新启动多个远程服务器,而不必分别登录每个服务器。 所以我关闭了以下程序,希望它会跳到服务器 93、95 和 97 上并重新启动每个服务器。

[root@<home_server> ~]# seq 93 2 97 |xargs -I{} ssh <remoteservernumber_>{} "hostname; reboot"

The authenticity of host '<remoteservernumber_93 (IP.IP.IP.IP)' can't be established.
RSA key fingerprint is ...
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'remoteservernumber_93 (IP.IP.IP.IP)' (RSA) to the list of known hosts.

root@remoteservernumber_93's password:
remoteservernumber_93
Connection to remoteservernumber_93 closed by remote host.
xargs: ssh: exited with status 255; aborting

但是,我最终得到的结果是,当第一台服务器重新启动时,它终止了连接,并且没有跳到下一台服务器上。我做错了什么?

由于需要更好的替代方案,我发现以下脚本有效:

for i in <server-1> <server-2> ... <server-n> ; do ssh $i "hostname; sudo reboot"; done