使用sshpass配合ssh-kopy-id编写脚本批量分发密钥: 首先sshpass是一个ssh连接时的免交互工具,首先要安装一下: yum install sshpass -y 接下来我们就可以使用sshpass工具了,一条命令形式分发ssh公钥: sshpass -p "ssh登录密码" ssh-copy-id -i /root/.ssh/id_dsa.pub -o StrictHostKeyChecking=no root@123.56.221.190 此时就可以将公钥发送到被管理的服务器上了: 注意: sshpass : ssh的一个免交互式工具 -p : 指定客户端登录的密码 ssh-copy-id :自动分发公钥的工具 -i : 指定本机公钥的路径 -o : StrictHostKeyChecking=no 第一次链接会在know_hosts文件里面写入,这里指不对信息写入。 编写批量分发密钥的脚本,首先我们这里需要假定所有的客户端都使用root账户,而且root账户的密码 都是相同的。 #!/bin/bash ''' description: ssh密钥批量分发 author: fengjunhua date: 2018-4-27 使用,将ip随便写入到一个文件里面,指定脚本./ssh_copy.sh 文件名 ''' password=#客户端服务器密码 for ip in `cat $1` do echo "Test $IP if is alive" ping $ip -c1 &>/dev/null if [ $? -gt 0 ];then echo "$ip 无法ping通" continue else echo "在分发密钥" sshpass -p "$password" ssh-copy-id -i /root/.ssh/id_dsa.pub -o StrictHostKeyChecking=no root@{$ip} &>/dev/null echo "$ip 密钥分发成功" fi done