ssh 到多个主机并运行命令

use*_*273 3 ssh shell-script

如何通过 ssh 连接到多个主机(例如 host1、host2、host3 等)和 cat/etc/fstab以生成report.txt

Raz*_*aza 6

是的,您可以ssh hostname command将输出重定向到您的 report.txt

以下脚本可从您的所有主机获取此报告。servername.dat 包含所有主机名。

 #!/bin/sh
 SERVERLIST=servername.dat
 ICMD='cat /etc/fstab'
 while read SERVERNAME
 do
    ssh -n $SERVERNAME $ICMD > $SERVERNAME_report.txt
 done < "$SERVERLIST"
Run Code Online (Sandbox Code Playgroud)

  • 你可能想使用“&gt;&gt;”而不是“&gt;” (2认同)

mze*_*zet 5

你可以这样做:

for i in username1@host1 username@host2; do ssh $i cat /etc/fstab >> raport.txt; done
Run Code Online (Sandbox Code Playgroud)

假设您在主机(host1 和 host2)上设置了 ssh 公钥身份验证,否则将提示您输入每个主机的密码。