ssh 到服务器,运行几个手动命令并退出

ssh 到服务器,运行几个手动命令并退出

是否可以创建一个脚本,可以依次 ssh 到多个主机(非并行)并等到我退出现有的 ssh 会话?

我有 50 多个主机。步骤如下:

  1. SSH 主机 1
  2. 从主机 1 命令提示符处,运行一组操作(手动)并退出会话(手动)。
  3. 该脚本会自动检测退出并通过 SSH 连接到下一个主机。

尝试利用 rhel 6.x 中现有的工具。我只是想知道是否有人用内置工具做到了这一点

我可以做这样的事情:但我只需要知道如何让脚本等待我完成操作。

usr=test
svrs=("192.168.18.48" "192.168.191.237" )
for x in ${!svrs[*]} ; do
        ip=`echo ${svrs[x]}`
        ssh $usr@$ip
done 

答案1

正是这样。

从 shell 的角度来看,ssh $usr@$ip这与启动可能与用户交互的任何其他程序没有什么不同。由于程序的输入和输出没有被重定向,并且程序没有在后台运行,因此程序可以随心所欲地与用户交互。

您不必执行任何特殊操作来“让脚本等待,直到完成操作”:脚本将等待“ssh”命令完成,或者换句话说,直到 SSH 会话结束。

相关内容