Bash 使用config创建shell脚本以运行基本命令ssh连接并输出

Bash 使用config创建shell脚本以运行基本命令ssh连接并输出,bash,scripting,ssh,Bash,Scripting,Ssh,我正在考虑创建一个带有配置文件的小型shell脚本,在这里我可以设置需要检查的服务器的IP,并执行一些简单的命令,如who、date、uname等,并在文件中打印输出 更新 这就是我目前拥有的: #!/bin/bash USERNAME=xxx HOSTS="localhost localhost" SCRIPT="uname -a; who; who -b; date; df -h; id" for HOSTNAME in ${HOSTS} ; do echo "${HOST

我正在考虑创建一个带有配置文件的小型shell脚本,在这里我可以设置需要检查的服务器的IP,并执行一些简单的命令,如who、date、uname等,并在文件中打印输出

更新

这就是我目前拥有的:

#!/bin/bash
USERNAME=xxx
HOSTS="localhost localhost"
SCRIPT="uname -a; who; who -b; date; df -h; id"

for HOSTNAME in ${HOSTS} ; do
        echo "${HOSTS}" >> output.log
        ssh -l ${USERNAME} ${HOSTNAME} "${SCRIPT}" >> output.log
        echo "" >> output.log
        echo "" >> output.log
done

我可以在输出中提供适当的主机IP地址/主机名吗?当前,它将打印所有行主机,因此在每次输出初始化时显示localhost localhost。

在所有远程服务器上为本地服务器上的用户(您)创建ssh密钥:

for node in server1 server2 server3
do
    ssh $node  "uname -a && who"
done
或者对于一组命令:

for node in server1 server2 server3
do
    echo "$node"
    for cmd in 'who'  'ls *.pdf' 
    do
        ssh $node  "$cmd"
    done
done

我也希望有人能给我一个如何自动输入服务器密码的手,如果可能的话。