批量部署ssh私钥认证

vim  batch_sshkey.sh

#!/bin/bash
cd /root
cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
for i in `cat iplist`
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

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

vim  iplist(前面是IP,后面是密码,用冒号:分割)

192.168.8.23:123456
192.168.8.24:456789

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

vim remote_operate.sh

#!/bin/bash
if [ ! -d /root/.ssh ];then
mkdir /root/.ssh
fi
cp /tmp/authorized_keys /root/.ssh/
rm -f /tmp/authorized_keys
rm -f $0

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

运行batch_sshkey.sh后即可实现批量部署。

时间: 2024-11-03 11:14:17

批量部署ssh私钥认证的相关文章

shell脚本批量部署ssh

日常运维工作中,需要给几十上百台服务器批量部署软件或者是重启服务器等操作, 这样大量重复性的工作一定很苦恼,本文给大家提供了最基本的批量操作的方法,虽然效率不高,对于初学者来说还是好理解.由于刚开始学习写脚本,什么 puppt这样的高级工具还不会使用,就简单的利用shell脚本.ssh-keygen.expect来实现.希望能给各位带来帮助,不足之处还请留言 指出,大家共同进步. 首先,需要检查expect是否安装:rpm -qa|grep expect 然后,在操作机上创建公钥:ssh-key

使用Shell脚本+expect批量部署ssh

Shell脚本+expect批量部署ssh一.准备工作及思路1,三台机器做实验(centos6.5.IP:192.168.0.22 (主控制).192.168.0.156.192.168.0.157)2,IP:22这一台做主控机器,另外2台做客户机.3,提前在主控制机器上创建好公钥,安装好expect,使用脚本批量推送ssh公钥.4,本次部署是以root身份进行下面的操作.二.正式部署1,首先穿件秘钥[[email protected] .ssh]# ssh-keygen -t rsa Gene

批量部署ssh信任关系

要求1:大批量部署SSH信任关系,在A文件分发服务器上大批量部署WEB层面信任关系文件分发服务器为:10.0.3.9 登录用户为:zhangsan WEB层IP段:10.0.3.10~10.0.3.60 (1).请大批量在WEB层上建立zhangsan用户,并且在zhangsan家目下面创建一个.ssh目录(2).在3.9服务器上面,zhangsan用户是用ssh-genkey创建私钥匙和公钥,将公钥导出到authorized_keys这个文件,权限更改为600(3).将authorized_k

批量部署SSH基于key的验证脚本

工作中,使用ansible等自动化运维工具实现服务器批量自动化运维管理,需要先解决管理端和被管理端的免密码登录,可以脚本实现ssh基于key的验证,代码如下: #!/bin/bash PASS=123456 USER=root ssh-keygen -f '/root/.ssh/id_rsa' -P '' &> /dev/null rpm -q expect &> /dev/null || yum install expect -y -q while read IP;do ex

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`doip=$(echo "

SSH批量部署服务

SSH批量部署服务 在NFS上作为中心分发服务器将私钥分发到其他服务器上 NFS部署 1 [[email protected] ~]# useradd luoahong 2 [[email protected] ~]# echo 123456|passwd --stdin luoahong 3 Changing password for user luoahong. 4 passwd: all authentication tokens updated successfully. 5 创建密码对

SSH秘钥自动生产批量部署

SSH自动生成秘钥,并批量部署到各个服务器端 host_ip.txt 记录要部署的服务器IP地址 不足:上发秘钥需要输入各个服务器的账号密码,如果服务器数量巨大,输入账号密码要浪费大量时间,有待改进 #!/bin/bash serverip=`ifconfig |grep "inet addr:"|grep -v 127.0.0.1|awk '{print $2}'|awk -F ':' '{print$2}'`  ssh-keygen -t rsa -f /root/.ssh/id_

堡垒机-麒麟开源堡垒机SSH公私钥认证配置文档

1.进入SSH公私钥管理界面 操作步骤:进入系统,点击左侧导航资产管理,后边TAB标签导航SSH公私钥,如下图 2.批量导入SSH公私钥: SSH公私钥管理界面,点击下方"导入",进入导入页面上传公私钥, 上传说明: 1) 讲所有的公私钥放到一个名为pvt的空文件夹中. 2) 在同样这个文件夹中建立一个名为sshkey.csv的文件,用excel打开格式如下图 Sshkeyname对应sshkey的名称, Sshkeypublickey对应公钥文件名 Sshkeyprivatekey对

批量实现ssh免密登录

本节索引 场景分析 ssh免密登录 pssh工具批量管理 SHELL自动化脚本 本篇总结 场景分析 作为一个运维工程师,不是每个人工作的环境都想阿里.腾讯那样,动不动就上亿的PV量,上万台服务器.我们通常还是工作在,几十台上百台服务器这样的环境,而使用ansible或者puppet这样的自动化运维工具则显得大材小用,并且最终的效果可能还不如几个小工具达到的效果好.像ssh免密登录在配合pssh这样的推送工具,在配合自动化配置脚本,可以说是即方便也使用.这一节将详细带大家以shell脚本的形式实现