#!/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...
12. Linux 服务器的安全性:本文档介绍了如何使用 Expect 脚本来维护 Linux 服务器的安全性,包括批量修改密码、添加新用户等操作。 本文档介绍了如何使用 Expect 脚本来批量修改远程 Linux 服务器的密码,并对 ...
此脚本功能主要是远程服务器进行日常巡检,比如CPU型号,内存,网络,系统版本,系统名称,登录错误日志,当前登录的数量,以及dmesg错误日志,会输入到表格中,适合运维人员,需要在此脚本的目录下创建名为"Linux监控信息.xlsx...
对于开发人员来说大多数时候都需要登录linux服务器,每次需要输入密码很是麻烦,shell脚本可以将每次输入验证步骤简化,只需要切换到脚本所在目录,输入“ ./ ssh_login.sh”即可实现自动登录
利用 crontab -e 将此脚本加入即可,主要是用于linux服务器定时自动备份mysql数据库的脚本sh
在Linux服务器环境中,批量执行脚本文件是一种常见的任务,尤其对于需要进行大量计算或自动化运维的场景,如在本文提到的Abaqus作业。Abaqus是一款强大的有限元分析软件,常常用于工程模拟和计算。在Windows系统中,...
linux自动升级ssl&ssh脚本
### Linux自动备份文件并上传至远程服务器脚本实现 在Linux环境下进行自动化操作可以极大地提高工作效率,特别是对于数据备份及远程传输这样的重复性任务。本文将详细介绍如何利用Shell脚本在Linux系统上实现MySQL...
widnows自动登录ssh服务器自动执行命令的脚本
6. 自动化脚本:支持通过脚本自动化执行一系列SSH命令,提高工作效率。 安装SSH Secure Shell Client后,用户需要配置服务器的IP地址、端口号(默认为22)、用户名,并根据需要设置认证方式。对于初学者,使用密码...
"Linux服务器交互式自动化脚本实现与研究" 本文主要介绍了在Linux服务器集群之间实现无密码的SSH登录,并将其集成到集群的安装过程中实现自动化。通过 Expect 实现无密码登录 SSH,并将其写入 RPM 包中,实现安装...
linux服务器自动清理日志的脚本和使用文档相关命令和定时任务linux服务器自动清理日志的脚本和使用文档相关命令和定时任务linux服务器自动清理日志的脚本和使用文档相关命令和定时任务linux服务器自动清理日志的脚本...
本文将详细介绍如何使用Linux脚本来实现自动监测服务器的CPU、内存、磁盘使用情况以及系统负载,并在超过预设阈值时发送告警邮件。这一方法可以帮助运维人员及时发现并预防服务器资源紧张的问题。 首先,我们要编写...
总结来说,这个解决方案通过shell脚本将expect、ssh和scp集成在一起,实现自动化远程服务器登录、文件传输、删除文件以及控制Tomcat服务的启停。这不仅提高了运维效率,减少了人工干预,而且在多服务器环境下提供了...
"Linux-ConfigLinux配置Linux服务器的自动化脚本"提供了实现这一目标的有效工具,旨在通过脚本化的方式提高命令行效率,减少人为干预,提升运维的稳定性和效率。下面我们将深入探讨Linux自动化脚本的关键知识点。 ...
在IT行业中,Linux系统是广泛...总之,通过本次实验,你可以学习到Linux服务器管理、Nginx与PHP的部署及交互,以及如何使用shell脚本自动化这些过程,这对于成为一名合格的运维工程师或者开发者都是非常重要的技能。
本压缩包“xshell ssh自动登录并执行命令脚本.rar”提供了一种自动化的方式,通过Xshell自动连接到SSH服务器并执行预设的命令脚本,极大地节省了手动操作的时间。 首先,我们需要了解SSH(Secure Shell),这是一种...
总之,通过Java操作Linux服务器并执行shell脚本,可以实现自动化运维、远程数据获取等多种功能。结合Apache Commons库,我们可以编写出高效、可靠的远程管理工具。在实际开发中,一定要注意安全性,例如使用密钥对...
Linux系统自动不停重启并计数的shell脚本
IntelliJ IDEA是一款强大的Java开发集成环境,它提供了许多高级功能,包括自动化部署到Linux服务器的能力。以下是对"idea自动部署linux服务器"这一主题的详细解释。 首先,我们需要了解IntelliJ IDEA中的部署配置。...