【问题标题】:How to reboot several remote machines via ssh in a single CLI command如何在单个 CLI 命令中通过 ssh 重启多台远程计算机
【发布时间】:2016-11-08 05:26:22
【问题描述】:

我想要实现的是重新启动多个远程服务器,而无需单独登录每个服务器。 所以我启动了以下命令,希望它会跳到服务器 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

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

【问题讨论】:

  • 您可以通过 ssh 以 root 身份登录。大大大大哎哟。永远不允许这样做。
  • 完全正确,你是。如果这是一个公共网络,我不会。幸运的是,这离公共领域太远了,我现在可以接受这个设置。但问题依然存在,我的逻辑哪里出错了?

标签: linux ssh xargs reboot


【解决方案1】:

为了寻找更好的选择,我发现以下脚本有效:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多