脚本基本原理 1.控制端免交互创建秘钥和公钥: 1 ssh-keygen -t rsa -f /root/.ssh/id_rsa -N "" 2.免交互发送公钥 1 sshpass -ppassword ssh-copy-id -i /root/.ssh/id_rsa.pub "-o StrictHostKeyChecking=no user@172.25.0.21" sshpass              # 非交互式SSH密码提供 -o StrictHostK…
将以下内容保存为.sh文件后运行即可,需根据各自情况修改ip_up和ip_arr #!/bin/bash #脚本功能:ssh秘钥免交互批量分发 #制 作 人:罗钢 联系方式:278554547@qqcom #要点提示:ssh-keygen -f和-n参数免交互生成秘钥;sshpass命令免交互输入密码;ssh -o参数取消提示语句 . /etc/init.d/functions Ip_up=172.16.1. Ip_arr="7 31 41" Pass_c=123456 Pass_e=…
shell编程之免交互 1.Here Document免交互 2.Expect免交互 3.免交互磁盘创建 1.Here Document免交互 概述: Here Document使用I/O重定向的方式将命令列表提供给交互式程序或命令,比如 ftp.cat 或 read 命令. 是标准输入的一种替代品可以帮助脚本开发人员不必使用临时文件来构建输入信息,而是直接就地生产出一个"文件"并用作"命令"的标准输入. Here Document 也可 以与非交互式程序和命令一起…
shell编程之免交互 目录 shell编程之免交互 Here Document免交互 免交互定义 Here Document变量设定 多行的注释 expect expect 定义 expect基本命令 示例串行执行 示例并行执行 Here Document免交互 免交互定义 使用I/O重定向的方式将命令列表提供给交互式程序 标准输入的一种替代品 语法格式: 命令 <<标记 ... ... 标记 使用注意项: 标记可以使用任意合法字符但开头标记与结尾标记需要保持一致 结尾的标记一定要定格写,前…
目录: 一.Here Document 免交互 二.Expect 一.Here Document 免交互 使用I/O重定向的方式将命令列表提供给交互式程序或命令, 比如 ftp.cat 或 read 命令. 是标准输入的一种替代品可以帮助脚本开发人 员不必使用临时文件来构建输入信息, 而是直接就地生产出一一个"文件"并用作"命令"的标准输入.Here Document 也可 以与非交互式程序和命令一起使用. 语法格式∶ 命令 <<标记 ... 内容 ..…
1.在使用之前,先安装epel源,yum install expect -y2.写分发脚本,后缀为exp #!/usr/bin/expect set host_ip [lindex $argv 0] spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $host_ip expect { -timeout 60 "(yes/no)?" { send "yes\n";exp_continue} "password:"…
脚本实现功能:批量或单个SSH免交互登录认证 脚本应用场景:当部署集群时,大多数实现要配置好管理节点与从节点的SSH免交互登录,针对这样的情况,写了下面脚本,简化工作. 脚本支持系统:Ubuntu和CentOS #!/bin/bash # Description: configuration local host and remote host ssh keypair authentication, Support Ubuntu and CentOS operation system. # Bl…
expect前言观察ssh登录的交互现象有些程序难以避免的需要交互.你该如何解决脚本与程序的交互问题?名词解释期待, 预期, 盼望, 预料,料想, 指望, 希望, 要求,想, 认为一.概述 我们通过Shell可以实现简单的控制流功能,如:循环.判断等.但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能.而Expect就使用来实现这种功能的工具. Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预.…
sshkey.exp #!/usr/bin/expect# 由于是多台服务器,需要在shell脚本中循环调用该脚本 if { $argc != 2 } { send_user "usage: expect scp-expect.exp file host dir\n" exit } #定义变量set file [lindex $argv 0]set host [lindex $argv 1]set password "888888" #必须使用ssh-copy-id…
本文转自https://blog.csdn.net/qjc_501165091/article/details/51278696 ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux/unix的方法. 使用密钥登录分为3步:1.生成密钥(公钥与私钥):2.放置公钥(Public Key)到服务器~/.ssh/authorized_key文件中:3.配置ssh客户端使用密钥登录. 一.生成密钥公钥(Publ…