shell脚本通过expect实现自动单边无密登录

expect配置单向ssh免密码登录 立即下载

最近项目需要实现单边无密登录,去网上搜索了下相关文章,实践之后发现几乎都不能用。于是结合expect的使用方法自行写了一个,通过验证可用。现在总结在这供需要的朋友参考。

代码如下:

EXPECT=/usr/bin/expect
$EXPECT <<EOF
spawn ssh-keygen -t rsa
expect "*ssh/id_rsa*" {
    send -- "\r"
    expect "*for no passphrase*"
    send -- "\r"
    expect "*passphrase again*"
    send -- "\r"
    exp_continue
}

EOF

iplist=`cat /root/ip.list`
for ip in $iplist
do
    $EXPECT <<EOF
    spawn ssh-copy-id root@$ip
    expect "*(yes/no)?*" {
        send -- "yes\r"
        expect "*?assword:*"
        send -- "$PASSWD\r"
    } "*?assword:*" {
        send -- "$PASSWD\r"
        exp_continue
    }
EOF
done
更多精彩文章,请搜索微信公众号“扶艾”。我们定期分享OpenStack相关技术文章,在这里,只有纯干货。 


shell脚本通过expect实现自动单边无密登录功能 最近项目需要实现单边无密登录,去网上搜索了下相关文章,实践之后发现几乎都不能用。于是结合expect的使用方法自行写了一个,通过验证可用。现在总结在这供需要的朋友参考。 代码如下: EXPECT=/usr/bin/expect $EXPECT <<EOF spawn ssh-keygen -t rsa expect *ssh/id_rsa* { send -- \r expect *for no passphrase* send -- \r expect *passphrase again* send -- \r exp_continue 立即下载

相关推荐

Android Studio安装常见问题详解——Android Emulator Hypervisor Driver for AMD Processors installation failed.

目录一、问题描述二、解决方案2.1 开启CPU虚拟化2.2 禁用Hyper-V2.3 使用管理员命令行在驱动程序包中执行“silent_install.bat” 一、问题描述 新买的AMD轻薄本,在安装Android Studio时遇到问题: Android Emulator Hypervisor Driver for AMD Processors installation failed. 笔记本配置为: 二、解决方案 2.1 开启CPU虚拟化 设置虚拟化的步骤这里不进行详细介绍了。如果需要,可以自行百

Wendy的博客 4万+

expect实现自动交互免密登录操作

1、下载expect 2、expect内部指令 spawn shell 命令程序 expect "捕获到shell 命令程序执行之后输出的字符串" send "发送给 shell 命令程序的字符串" 3、在命令行直接输入 expect 可以进入 expect 程序的解释器终端 [root@mike~]# expect expect1.1> spawn echo "hello...

Operations_white的博客 1075

Android 13高通平台CTS camera部分fail项修改(续)

接着上一篇,有几个提了case高通也分析了很久的fail项,其中最离谱的是问题1,第一个接手case的人反反复复处理、内部排查踢皮球、要求log,折腾了很久,最终就给出个解不了的结论。后面还是靠着自己发现了一些蛛丝马迹,并且换了个case接手人才最终解决。

hkj887tg的博客 2061

免交互语法expect

是建立在tcl(tool command language)语言基础上的一个工具,常被用于进行自动化控制和测试,解决shell脚本中交互的相关问题。expect不是系统自带的,所以得用yum先下载。

weixin_72625764的博客 157

计数译码驱动显示电路实验报告_京东方G0A电路、阵列基板、显示 装置及驱动方法广州威彩...

图1、实施例二所述的选择子单元的结构示意图图2、实施例四所述的GOA电路结构示意图图3、实施例七所述的阵列基板的局部结构示意图图4、实施例所述的极性反转驱动方法的第一场的各信号时序图图5、实施例所述的极性反转驱动方法的第二场的各信号时序图图6、实施例所述的极性反转驱动方法的第三场的各信号时序图图7、实施例所述的极性反转驱动方法的第四场的各信号时序图图8、为图4所示时序下,实施例八所述显示...

weixin_35696112的博客 925

Verilog的综合指令

Synopsys综合指令

烟花一时的博客 5447

expect免输密码登录服务器

1. 首选是往authorized_keys里追加公钥来实现 2. 第二种选择是使用expect来自动填充密码 3. 第三种是使用echo打印密码,然后自动手动复制粘贴 ## 二、 1)安装expect sudo apt install expect # Ubuntu/Debian sudo yum install expect # Centos/RedHat 2)创建.exp文件:vi .ssh_server.exp #!/usr/bin/expect -f set user [ li

jaket5219999的博客 1120

Ollama DNS 重新绑定攻击 (CVE-2024-28224)

一旦 DNS 重新绑定攻击成功,攻击者就可以对这些 API 进行排序,以读取 Ollama 运行的进程可访问的任意文件数据,并将这些数据泄露到攻击者控制的系统中。完成对“创建模型” API 请求的调用后,Ollama 将收集组成新创建的用户模型的许多工件,包括大型语言模型数据、许可证数据等,以及我们要提取的文件,所有这些都可以通过其 SHA256 内容进行寻址。这是我们要窃取的文件,在我们的示例中,是可通过运行 Ollama 的主机上的路径名访问的现有文本文件。值得注意的是,该模型配置为通过参数中的。

技术超强的网络安全平台 1648

使用expect脚本实现远程免密传输以及登录后进到指定目录

使用expect脚本实现远程免密传输以及登录后进到指定目录。

又菜又爱玩的博客 675

【华为OD技术面试手撕真题】1、长度最小的子数组 | 手撕真题+思路参考+代码解析(C & C++ & Java & Python & JS)(三种解法)

【华为OD面试手撕真题】长度最小的子数组,本专栏更新每年华为OD机试的高频手撕代码题,每个题目都会使用五种语言进行解答(C & C++& Java & Python & JS),思路分析都非常详细, 实现最低的时间复杂度和高通过率,每个解题思路超过百字,内含各个编程语言的八股文面试题,欢迎大家订阅学习, 代码可以直接运行使用,全网限时最低价,持续更新

KJ.JK 1万+

Spring AI 实战:第五章、Spring AI本地模型部署之省钱小能手

白嫖的快乐你想象不到经过这番折腾,我们成功实现了零成本使用大模型完全本地运行保障隐私可视化访问Java生态无缝集成但可能有的小伙伴要吐槽,怎么换个底层模型这次就新建一个工程了呢?不能在以前的工程上开发吗?这样也太不优雅了吧~,我知道你很急,但先别急,等下一章节再来解决这个问题。为什么程序员特别喜欢Ollama?因为它就像一只温顺的羊驼——不花钱还能24小时产出代码!

liaokailin的专栏 922

expect免密登录

expect无交互式登录 #安装 yum install expect -y 1)定义脚本执行的shell #!/usr/bin/expect 这里定义的是expect可执行文件的链接路径(或真实路径),功能类似于bash等shell功能 2)set timeout 30 设置超时时间,单位是秒,如果设为timeout -1 意为永不超时 3)spawn spawn 是进入expect环境后才能执...

peach588的博客 11万+

2023年全国职业院校技能大赛“信息安全管理与评估”-真题——赛题题目+答案解析

2023年全国职业院校技能大赛“信息安全管理与评估”-真题——赛题题目+答案解析

君逍遥o 6013

shell教程八:except脚本 实现无密登录

理解except脚本几个简单参数  脚本代码如下:   ##############################################   #!/usr/bin/expect   set timeout 30   spawn ssh -l username 192.168.1.1   expect "password:"   send "ispass\r"

刚的专栏 1463

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

通过SHELL实现SSH的无密登录

ssh连接远程主机时候询问密码,跟su、sudo命令的默认行为一样,是不从stdin读入数据的,据称是为安全考虑,但是有时候在脚本当中确实需要无人守值的登陆。搜索一下不难找到类似的例子,使用expect来完成密码应答:#!/bin/bash auto_login_ssh () { expect -c "set timeout -1; spawn -noecho

AttaGain的专栏 4541

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

shell自动化实现多台服务器免密登录

一建自动化实现多台服务器免密登录

silly8543 780

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

shell脚本无密码登录 expect使用

今天需要做一个定时任务脚本将最新的数据包文件传到远程的服务器上,虽然有密钥但也是要求输入密码的那种,所以只能另想办法实现让脚本自动输入密码了。 从网上查到使用expect可以,简单研究了一下,效果不错。 系统:CentOS 6.3 因为我的操作系统没有安装expect,所以直接"yum -y install expect",你可以根据你的操作系统安装...

weixin_34255793的博客 201

java批量执行脚本_shell脚本批量复制及执行命令的示例详解

平时在处理一个或几个机器运行环境时,一个机器一个机器处理也能接受,但是如果是一批机器,几十或几百台,要是一台一台去安装环境,光是输入同一的命令,估计你自己都想吐,所有聪明的人会想一些偷懒的办法,确实可以找到一些省时省力的方法,比如写一个批量处理shell脚本,这几天在处理一批(八九十台)机器环境,找了一些批量处理的脚本,包括批量传输(scp)文件到多台机器上、批量执行命令到多台机器、还有需要交互的...

weixin_32933155的博客 590

java 脚本 复制命令_批量复制及执行命令shell脚本

平时在处理一个或几个机器运行环境时,一个机器一个机器处理也能接受,但是如果是一批机器,几十或几百台,要是一台一台去安装环境,光是输入同一的命令,估计你自己都想吐,所有聪明的人会想一些偷懒的办法,确实可以找到一些省时省力的方法,比如写一个批量处理shell脚本,这几天在处理一批(八九十台)机器环境,找了一些批量处理的脚本,包括批量传输(scp)文件到多台机器上、批量执行命令到多台机器、还有需要交互的...

weixin_33164837的博客 171

配置免密登陆和自动安装JDK的shell脚本

配置免密登陆,并把自动安装的脚本发送到需要的主机 #!/bin/bash #定义变量,存放需要安装的主机名(IP) SERVERS="node1 node2......" #存放安装主机的密码,每台密码都是相同的 PASSWORD=123456 #存放的是创建脚本文件的IP BASE_SERVER=172.16.203.100 #设置免密登陆到其它主机的主函数 auto_ssh_copy...

weiqiang2的博客 520

java批量拷贝数据脚本_批量复制及执行命令shell脚本

平时在处理一个或几个机器运行环境时,一个机器一个机器处理也能接受,但是如果是一批机器,几十或几百台,要是一台一台去安装环境,光是输入同一的命令,估计你自己都想吐,所有聪明的人会想一些偷懒的办法,确实可以找到一些省时省力的方法,比如写一个批量处理shell脚本,这几天在处理一批(八九十台)机器环境,找了一些批量处理的脚本,包括批量传输(scp)文件到多台机器上、批量执行命令到多台机器、还有需要交互的...

weixin_34336068的博客 210

Centos 集群配置SSH免登陆脚本

首先编写脚本生成集群服务器列表: hostsList.sh  #!/bin/bash preIp="11.11.225." pwd="dyj2017" for i in `seq 2 80`; do echo -e $preIp$i $pwd &gt;&gt; hostsLists.txt done hostsLists.txt 11.11.225.2 dyj2017 11.11.225....

weixin_34255055的博客 148

shell expect的简单实用

一.在shell脚本中嵌入expect来实现密码输入expect是一个自动交互功能的工具。expect是开了一个子进程,通过spawn来执行shell脚本,监测到脚本的返回结果,通过expect判断要进行的交互输入内容(send)1.安装expect 需要先安装tcl:apt-get install tclapt-get install expect 2.expect使用2.1一个简单的输入密码操...

lemontree1945的博客 1万+

无密钥登录的自动脚本实现(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

Better Me的博客 1万+
上一篇: OpenStack(kilo)界面dashboard的二次开发(二)-增加PanelGroup
下一篇: OpenStack(kilo)界面dashboard的二次开发(三)-增加Dashboard
林大大.
博客等级 码龄11年 111粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值