批量实现ssh免交互认证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量实现ssh免交互认证相关的知识,希望对你有一定的参考价值。

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

环境: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菜鸟一枚,如果大家有什么建议或分享请及时共享出来哦!


本文出自 “守望者” 博客,请务必保留此出处http://changeworld.blog.51cto.com/10467880/1912987

以上是关于批量实现ssh免交互认证的主要内容,如果未能解决你的问题,请参考以下文章

免交互方式批量分发公钥脚本

免密码交互方式+ansible批量管理服务介绍

SSH免密登录(并且免yes交互)

使用ansible实现批量免密认证

免交互

Linux系统shell脚本之Expect实现SSH免交互执行命令