Linux批量部署无密钥脚本

##### 批量部署ssh私钥认证 #####

一、首先安装expect,直接yum即可

二、批量部署ssh私钥脚本

batch_sshkey.sh
==============================================================

#!/bin/bash

cd /root

cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys

for i in `cat ip.txt`
do
ip=$(echo "$i"|cut -f1 -d":")
password=$(echo "$i"|cut -f2 -d":")

expect -c "
spawn scp /root/.ssh/authorized_keys /root/remote_operate.sh  [email protected]$ip:/tmp/
        expect {
                \"*yes/no*\" {send \"yes\r\"; exp_continue}
                \"*password*\" {send \"$password\r\"; exp_continue}
                \"*Password*\" {send \"$password\r\";}
        }
"

expect -c "
spawn ssh [email protected]$ip "/tmp/remote_operate.sh"
        expect {
                \"*yes/no*\" {send \"yes\r\"; exp_continue}
                \"*password*\" {send \"$password\r\"; exp_continue}
                \"*Password*\" {send \"$password\r\";}
        }
"

done

============================================================

ip.txt(前面是IP,后面是密码,用冒号:分割)

192.168.8.23:123456
192.168.8.24:456789

============================================================

remote_operate.sh

#!/bin/bash

if [ ! -d /root/.ssh ];then 
mkdir /root/.ssh
fi
cp /tmp/authorized_keys /root/.ssh/

==========================================================

运行batch_sshkey.sh即可。

batch_sshkey.sh设置可执行权限,需./执行,执行过程中无需按回车,自动会完成部署。

时间: 2024-12-15 01:36:14

Linux批量部署无密钥脚本的相关文章

自动化运维Ansible批量部署服务+shell脚本批量推送公钥

一.概述分析 由于互联网的快速发展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量的维护操作,仍旧按照传统方式进行维护会使得工作效率低下.这时,部署自动化运维就可以尽可能安全.高效地完成这些工作.一般会把自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的ABem程序来完成管理功能,如: Puppet.Func. Zabbix等:另外一类是不需要配置代理工具的,可以直接基于SSH服务来完成管理功能,如: Ansible. Fabric等. - 下面介绍几款功能类似的自动化运

linux批量创建用户的脚本

#!/bin/bash for user in `cat /home/opt/userlist.txt` do mkdir -p /app/ftp/issue/merDealFiles/$user/dealFiles mkdir -p /app/ftp/issue/merDealFiles/$user/dealFiles/applyArea mkdir -p /app/ftp/issue/merDealFiles/$user/dealFiles/resultArea mkdir -p /app/

linux服务器批量部署应用系统shell脚本(Tomcat/jetty)

linux服务器批量部署应用系统shell脚本: 1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-tomcat-7.0.61 serverDir=/home/undoner/java_tool/apache-tomcat-7.0.61/webapps 2.请更换工程所属配置文件名称 /WEB-INF/classes/install.properties 3.请将war包上传至本命令同级的目录,执行

zabbix批量部署Windows和Linux的agent

对Linux进行批量部署Zabbix-agent 我们这里使用的是ansible来对zabbix-agent进行批量部署,当然在Linux上也可以使用脚本来完成部署 环境 ansible:10.127.0.133 agent1:172.168.0.4 agent2:172.168.0.5 进行密钥授权认证实现免密登陆 为方便ansible对agent主机的管理,需要将ansible与agent进行公钥认证来实现免密登陆 ssh-keygen -t rsa ssh-copy-id -i /root

无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)

无密钥登录的自动脚本实现: vim auto_ssh.sh #!/usr/bin/expect   set timeout 10   set username [lindex $argv 0]   set password [lindex $argv 1]   set hostname [lindex $argv 2]   spawn ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]$hostname expect {         

详解使用Cobbler快速批量部署linux系统

前言:这几天闲着没事来系统组玩玩,学点东西总是好的嘛.系统组系统组当然还是从学会装系统开始.花了两个小时折腾了一下用cobbler批量部署linux系统.第一次做当然中间遇到很多问题,不过都顺利解决了.完了总结一下写个帖子和大家分享一下. 系统版本:Centos6.5 32位cobbler服务器IP:192.168.175.130 IP地址段:192.168.175.120-192.168.175.140子网掩码:255.255.255.0网关:192.168.175.2DNS:8.8.8.8

Linux下批量部署安装--PXE

Linux操作系统如何安装? 以及如何自动(无人值守)安装? 以及如何批量自动安装? 下面我们会一一的来介绍. 以下操作以CentOS6系列为例,以 VMware 作为虚拟机管理器进行实验. 一.安装系统 1.个人 pc 如何安装一个Linux操作系统使用呢? Linux操作系统的安装过程大致如下: 以本地镜像为例,POST加点自检,加载镜像文件中的内核和临时根文件系统,最后会启动anaconda的安装程序,此程序是交互式的,帮助用户来选择安装前的一些操作,完成这一步操作之后,进入真正的安装包软

自动化批量部署Linux系统(Kickstart+DHCP+NFS(http)+TFTP+PXE)

自动化批量部署Linux系统 (Kickstart+DHCP+NFS(http)+TFTP+PXE) 楓城浪子原创(除原理流程图外),转载请标明出处! 更多技术博文请见个人博客:https://fengchenglangzi.000webhostapp.com 微信bh19890922 QQ445718526.490425557 序: 本文主要介绍自动化部署操作系统,主要借助的工具包含(Kickstart+DHCP+NFS(http)+TFTP+PXE),至于每种工具用途及作用请自行补脑,本文主

VMware Linux VDI 批量部署

  在博客VMware Linux VDI安装步骤中我们介绍了VMware Linux VDI的安装步骤.在本篇博客中,我们来详细介绍如何批量部署VMwareLinux VDI,并讲解在碰到一些常规问题时如何解决. VMware Linux VDI支持四种Linux系统,RHEL,CentOS,Ubuntu,中标麒麟,这里所有的步骤都以中标麒麟为例. 前提条件: 1. 请参考VMware Linux VDI安装步骤中列出的前提条件. 2. 准备Linux虚拟机,安装中标麒麟操作系统.这里我们称该