#!/usr/bin/expect
set timeout 30
spawn ssh luxiao@host
expect "*assword:"
send "password\r"
interact
1. [#!/usr/bin/expect]
这一行告诉操作系统脚本里的代码使用那一个shell来执行
注意:这一行需要在脚本的第一行。
2. [set timeout 30]
设置30秒超时
3. [spawn ssh luxiao@host]
spawn是进入expect环境后才可以执行的expect内部命令,如果没有装expect或者直接在默认的SHELL下执行是找不到spawn命令的。所以不要用 “which spawn“之类的命令去找spawn命令。好比windows里的dir就是一个内部命令,这个命令由shell自带,你无法找到一个dir.com 或 dir.exe 的可执行文件。
它主要的功能是给ssh运行进程加个壳,用来传递交互指令。
4. [expect "*assword:"]
这里的expect也是expect的一个内部命令,有点晕吧,expect的shell命令和内部命令是一样的,但不是一个功能,习惯就好了。这个命令的意思是判断上次输出结果里是否包含“*assword:”的字符串,如果有则立即返回,否则就等待一段时间后返回,这里等待时长就是前面设置的30秒
5. [send "luxiao\r"]
这里就是执行交互动作,与手工输入密码的动作等效。
温馨提示: 命令字符串结尾别忘记加上 “\r”,如果出现异常等待的状态可以核查一下。
6. [interact]
执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。如果你只是登录过去执行
#!/usr/bin/expect #注意安装的路径,不确定 whereis expect 一下
# Change a login shell to bash
set user [lindex $argv 0]
spawn bash $user
expect "]:"
send "/bin/bash "
expect eof
exit
分享到:
相关推荐
sync(文件系统安全监控软件)、glances(资源监控工具)在实际工作中,Linux系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对Linux服务器的监控。本文介绍一下使用Python脚本实现对Linux...
此脚本功能主要是远程服务器进行日常巡检,比如CPU型号,内存,网络,系统版本,系统名称,登录错误日志,当前登录的数量,以及dmesg错误日志,会输入到表格中,适合运维人员,需要在此脚本的目录下创建名为"Linux监控信息.xlsx...
对于开发人员来说大多数时候都需要登录linux服务器,每次需要输入密码很是麻烦,shell脚本可以将每次输入验证步骤简化,只需要切换到脚本所在目录,输入“ ./ ssh_login.sh”即可实现自动登录
利用 crontab -e 将此脚本加入即可,主要是用于linux服务器定时自动备份mysql数据库的脚本sh
widnows自动登录ssh服务器自动执行命令的脚本
linux服务器自动清理日志的脚本和使用文档相关命令和定时任务linux服务器自动清理日志的脚本和使用文档相关命令和定时任务linux服务器自动清理日志的脚本和使用文档相关命令和定时任务linux服务器自动清理日志的脚本...
ConfigLinux 配置Linux服务器的自动化脚本
aliyun-ddns自动解析域名ip支持ipv6服务器nodejs脚本linux版本 使用说明: 一、获取阿里AccessKey ID和AccessKey Secret。 二、修改config.json配置,填写AccessKey ID、AccessKey Secret、域名地址、解析类型【默认...
通过定时 crontab -e 任务,执行脚本,监测服务器的cpu,内存,磁盘,负载,超出预定的值时发邮件到自己的邮箱告警,很好的提前预防服务器的资源紧张问题。
linux下自动备份数据文件脚本,只需要修改日期,按日期备份,定时删除。
Linux系统自动不停重启并计数的shell脚本
linux日常巡检脚本,自动化巡检脚本,含指标对比 linux日常巡检脚本
该shell脚本可实现服务器的一键搭建。功能包括网络、安全、防火墙(DHCP/HTTP/FTP/DNS/NAT服务器防火墙配置)、yum源的一键设置,以及DHCP/HTTP/FTP/DNS服务器的一键安装及配置(同时支持CentOS6与7系统,安装方式为...
JAVA操作linux服务器,本文用于启动shell脚本并返回数据,简单易懂,可随时修改,1.连接服务器。2.输入服务器地址。3.输入用户名和密码。4.输入要执行的命令。
Linux下mysql定时自动备份并FTP到远程脚本
通过定时任务实现数据库文件自动备份压缩,对备份文件做定期删除。 使用教程:http://blog.csdn.net/chen_gp_x/article/details/79298983
使用shell脚本,使其直接在centos7下直接部署nginx和php,成功访问phpinfo
Linux环境通过shell脚本进行ssh登录服务器 里面包好ssh登录的用法以及interact交互 以及通过echo覆盖文件或者重定向文本,输入ssh远程服务器的密码,账户完全自动输入账号,密码登录服务器
linux开机自动启动es脚本,亲测有效
Linux下实现Oracle数据库自动备份的脚本