如何通过同一个命令通过 ssh 询问多台计算机

如何通过同一个命令通过 ssh 询问多台计算机
computer1:~$ ssh -p 2222 [email protected] 'who -b' | \
> awk '{print $(NF-1)" "$NF}' >> textfile.txt

此代码帮助我找出 computer2 上次启动的时间,并将信息放入名为 textfile.txt 的文本文件中。但如果我想用同一个命令向 computer2 和 computer3 询问同一件事,然后将信息放入文本文件中,该怎么办?如何用同一个命令询问多台计算机?

谢谢!

答案1

你重复这个问题:

ssh -p 2222 [email protected] 'who -b' | awk '{print $(NF-1)" "$NF}' >> textfile.txt
ssh -p 2222 [email protected] 'who -b' | awk '{print $(NF-1)" "$NF}' >> textfile.txt

“>>”将其附加到“textfile.txt”。


如果您将 IP 地址放在文本文件中,则可以循环遍历它(伪示例):

#!/bin/bash
filename='ipaddresses.txt'
while read p; do 
    ssh -p 2222 $p 'who -b' | awk '{print $(NF-1)" "$NF}' >> textfile.txt
done < $filename

答案2

创建脚本并运行:

#!/bin/bash

ssh -p 2222 [email protected] 'who -b' | awk '{print $(NF-1)" "$NF}' >> textfile.txt
ssh -p 2222 [email protected] 'who -b' | awk '{print $(NF-1)" "$NF}' >> textfile.txt

不要忘记chmod +x myscript.sh使其可执行。

您还需要基于密钥的身份验证设置,脚本无法轻松处理密码挑战。

相关内容