expect免密登录
expect无交互式登录
#安装
yum install expect -y
1)定义脚本执行的shell
#!/usr/bin/expect
这里定义的是expect可执行文件的链接路径(或真实路径),功能类似于bash等shell功能
2)set timeout 30
设置超时时间,单位是秒,如果设为timeout -1 意为永不超时
3)spawn
spawn 是进入expect环境后才能执行的内部命令,如果没有装expect或者直接在默认的SHELL下执行是找不到spawn命令的。
4)expect
这里的expect同样是expect的内部命令
主要功能:判断输出结果是否包含某项字符串,没有则立即返回,否则就等待一段时间后返回,等待时间通过timeout进行设置
5)send
执行交互动作,将交互要执行的动作进行输入给交互指令
命令字符串结尾要加上"\r",如果出现异常等待的状态可以进行核查
6)exp_continue
继续执行接下来的交互操作
7)interact
执行完后保持交互状态,把控制权交给控制台;如果不加这一项,交互完成会自动退出
8)$argv
expect 脚本可以接受从bash传递过来的参数,可以使用 [lindex $argv n]获得,n从0开始,分别表示第一个,第二个,第三个……参数
[root@localhost ~]# cat denglu.exp
#!/usr/bin/expect
set ipaddr "192.168.1.10"
set name "root"
set passwd "123456"
set timeout 30
spawn ssh $name@$ipaddr # spawn是进入expect环境后才可以执行的expect内部命令
expect {"yes/no" { send "yes\r";exp_continue }
"password" { send "$passwd\r" } #执行交互动作,与手工输入密码的动作等效。
}
send `hello world`>/tmp/echo.txt
expect eof
批量免密登录也可以做,但是ansible更好用一些。
expect免密登录相关推荐
- python pexpect telnet_使用python的pexpect模块,实现远程免密登录的示例
说明 当我们需要用脚本实现,远程登录或者远程操作的时候,都要去解决如何自动输入密码的问题,一般来说有3种实现方式: 1).配置公钥私钥 2).使用shell下的命令,expect 3).使用pytho ...
- SSH免密登录(内含批量配置脚本)
原文地址:itweknow.cn/detail?id=6- ,欢迎大家访问. 在我们的集群环境搭建过程中可能会很需要SSH免密登录,互相之间传文件只需要一个SCP命令,连密码都不用输,很方便.那么这篇 ...
- linux如何自动化部署脚本实现免密登录并访问资源
任务把weijie主机jdk文件安装到weijie1中. 首先再各台主机中安装必要的命令: expect.wget.httpd.ssh 执行命令 如:expect提示命令不存在,则分别安装命令 yum ...
- 玩转 ssh 免密登录配置:使用两个环境模拟配置成功和其他几种失败的情况
一.引言 最近在工作中,我遇到了这么一个需求: 我们需要每天给客户环境发送一个打包文件,对此,客户环境提供了一个 sftp 服务来接收我们的文件 这是一个非常简单的需求场景,但是这个需求对于我项目的要 ...
- Linux运维:Shell脚本实现ssh免密登录远程服务器
LInux系统日常运维过程中,经常需要在本地运行脚本执行对远程主机的命令,正常情况下,ssh登录远程服务器时会提示输入密码,这会影响到脚本的自动执行(因为shell脚本中没有自动填充密码的命令).有三 ...
- 实现免密登录,设置只允许student1, student2用户登录,get和post的区别,HTTP状态码,HTTP请求报文和响应报文,HTTP是如何保持连接状态的
1.实现免密登录 1创建密钥 [root@192 /]# su gzw [gzw@192 /]$ cd /home/gzw/.ssh [gzw@192 .ssh]$ ssh-keygen -t rsa ...
- 免密登录远程服务器(SSH)脚本
从A服务器免密登录至B服务器 一.先按照插件 (1)yum安装:yum -y install expect (2)源码安装: ①下载expect和tcl 下载地址: https://files.cnb ...
- Shell脚本配置账户免密登录
/ 前言 / 通过密钥的方式来使服务器之间免密登录无疑是很重要的, 设想一下你要在N台服务器上面搭建MySQL主从又或者是ES集群, 此时你需要先在其中一台机器上面搭建之后将文件拷贝打其它服务器上面, ...
- shell脚本部署免密登录
shell脚本部署免密登录 创建一个目录,用来存放脚本 [root@localhost scripts]# tree . ├── host └── ssh.sh0 directories, 2 fil ...
最新文章
- 《HTML5移动应用开发入门经典》—— 2.4 HTML5中的HTML语法变化
- “兰董”——激怒式Marketing,Market人底线何在?
- NVIDIA Jetson Nano B01 安装Ubuntu 18.04.3 LTS
- 【node内存泄漏耗尽之解决方法】
- A股开盘:深证区块链50指数跌0.32%,118只概念股下跌
- 一步步构造自己的vue2.0+webpack环境
- IDC机房电信宽带光缆施工方案以及系统建设
- PS改变证件照片背景颜色
- macos同时运行多个版本php程序(nginx+php56+php72)
- MacOS工程替换MainMenu.xib
- threejs学习第一天--3D地月环绕实战案例
- 2021租房合同样板
- 从键盘交互式输入-一个人的18位的身份证号,以类似于“2001年09月12日”的形式输出该人的出生日期。
- P2E引发热潮,从代币经济学、元宇宙和风投等角度看链游行业将走向何方?
- 虚拟机怎么架设dns服务器,虚拟机centos7 DNS服务器搭建
- 转屏动画 - 安卓R
- 拼多多api接口应用示例
- Android辅助功能
- 3dsmax 2017打开就闪退的解决方法
- dede服务器建站_织梦教程,网站搭建,网站成功部署教程