因为要部署一批服务器,为了以后管理方便,要进行免密认证。一台一台做很费时,脚本又得手动输密码。于是上网搜了搜,发现一个非常简单的免交互认证,不需要入密码即可完成!

环境:centos 6.8 虚拟机VM 安装epel源

脚本如下:


        

#!/bin/bash

#


rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm


yum install -y sshpass 


echo -e 'y\n' | ssh-keygen -t rsa -N "" -f .ssh/id_rsa  #无论密钥存在不存在都会强行重新生成一次


for i in `cat hostlist`

do

  sshpass -p '' ssh $i -o StrictHostKeyChecking=no echo #这里是为了避免输入yes应答

  sshpass -p '' ssh-copy-id -i .ssh/id_rsa.pub $i  # '' 是空密码的意思,可以根据自己需要更改

done


这样运行过程中根本不需要你的任何干涉,直接就完成了免密认证,也不需要很复杂的脚本。


本人也是linux菜鸟一枚,如果大家有什么建议或分享请及时共享出来哦!