如何批量同时控制5台linux主机
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何批量同时控制5台linux主机相关的知识,希望对你有一定的参考价值。
1、在本机安装SSH工具,(SSH工具有很多比如xShell、FianlShell)2、在Linux中配置ssh服务,
3、本机打开SSH工具配置Linux的ip地址及端口号即可同时连接多台Linux主机进行操作。
望采纳。 参考技术A 使用 parallel-ssh,一共三个步骤。
1、生成密钥 $ssh-keygen -t rsa,然后一路回车
2、将生成的id_rsa.pub 复制到另一台机器,有两种方式:
一种是 $ssh-copy-id -i ~/.ssh/id_rsa.pub usrname@IP,这种方式直接就把rd_rsa.pub的内容放到目标机器的~/.ssh/authorized_keys里。
另一种是$scp ~/.ssh/id_rsa.pub usrname@IP:~/.ssh/authorized_keys,将密钥内容放到该文件夹下。一般来说第一种是争取的,因为第二种第一次使用的时候并没有/.ssh/authorized_keys这个路径,需要执行第一个命令才会有。
3、测试是否成功。
$parallel-ssh -h clients.txt -l pi (username) -P uptime 测试
要执行命令
$parallel-ssh -h clients.txt -l pi -P "python /home/pi/UNSWTestbed/client_simulation.py"
Linux多台主机批量执行命令
参考技术A 指定一台主机作为信任主机,这样从这台主机登录其他机器就不需要密码了。设置信任主机:
假设有四台机器:192.168.2.1~192.168.2.4,其中192.168.2.1为信任机,那么在192.168.2.1上运行如下命令:
$ssh-keygen -t rsa //此处一路回车,生成秘钥
$scp .ssh/id_rsa.pub 192.168.2.2:~/ //把秘钥拷贝到其他远程机器
$ssh 192.168.2.2 ‘cat id_rsa.pub >> .ssh/authorized_keys’ //(远程执行命令)在远程机器上生成认证文件
经过这几步,从192.168.2.1 ssh登陆192.168.2.2时,就不会再需要输入密码了。同样的步骤再执行3、4的极其。
文本文件hostlist可以如下
192.168.2.2
192.168.2.3
192.168.2.4
#!/bin/shdoCommand()
hosts=`sed -n'/^[^#]/p'hostlist`
for host in $hosts
do
echo ""
echo HOST$host
ssh $host "$@"
done
return 0
if [ $# -lt 1 ]
then
echo "$0cmd" exit
fi
do Command "$@"
echo "return from doCommand"
执行命令(记得先对doCommand.s
h增加执行权限 chmod u+x doCommand.sh)
./doCommand.sh “ls -al /root/”
这样该脚本就会在每台机器上执行”ls -al /root/”这个命令,并返回结果在信任主机上。
以上是关于如何批量同时控制5台linux主机的主要内容,如果未能解决你的问题,请参考以下文章