expect脚本实现通过跳板机登录多个机器做操作
如下:192.168.10.1是跳板机IP,192.168.10.2和192.168.10.3是我们需要操作的服务器。
(需要在跳板机实现自动登录的脚本autologin)
#!/usr/bin/expect set ipaddr "192.168.10.1" set password "test" set timeout -1 spawn ssh root@$ipaddr -p 22 "autologin 192.168.10.2" expect "*?\(yes/no\)*" { send -- "yes\r" expect "*?assword:*" send -- "$password\r" } "*?assword:*" { send -- "$password\r" } expect "Last login:" { send -- "./your_command \r" } expect "command finished" { send -- "exit\r" send -- "exit\r" } spawn ssh root@$ipaddr -p 22 "autologin 192.168.10.3" expect "*?\(yes/no\)*" { send -- "yes\r" expect "*?assword:*" send -- "$password\r" } "*?assword:*" { send -- "$password\r" } expect "Last login:" { send -- "./your_command \r" } expect "command finished" { send -- "exit\r" send -- "exit\r" } interact
autologin脚本也可以通过expect实现
相关推荐
在实际应用中,你可能需要根据具体的项目需求来调整脚本,例如处理可能出现的错误、添加延迟以避免因频繁连接导致的服务器拒绝,或者使用expect脚本进行更复杂的交互操作。 总的来说,自动登陆SSH并进行批量IP脚本...
描述中提到的“解决spawn: not found与expect: not found问题(安装expect)”是针对TCL的一个扩展库——Expect。Expect库提供了一个强大的功能,使得编写自动交互式程序变得可能,比如自动登录远程服务器、执行命令...
此外,压缩包中还有两个库的源码版本——ganymed-ssh2-build210.zip和jsch-0.1.53.zip,以及expect4j的源码仓库——expect4j-master.zip。如果你需要深入了解这些库的工作原理,或者想要对其进行定制或扩展,可以...
综上所述,TCL作为一种灵活且强大的脚本语言,在许多场景下都有着广泛的应用,尤其是结合TK和EXPECT工具后,其在自动化测试和GUI开发方面的能力得到了极大的增强。同时,DEJAGNU作为测试框架,进一步提高了软件质量...
- **摘要**:这篇论文介绍了一个轻量级的expect工具——expect-lite,适用于需要简单脚本任务的场合。 - **关键知识点**: - expect工具的基本概念。 - expect-lite的设计理念与应用场景。 - 脚本编写示例。 **...
例如,给出的Expect脚本示例展示了如何自动登录远程服务器并执行命令。这种方式对于需要交互式操作的情况非常有用,但缺点是执行速度较慢,因为它是逐台服务器进行操作,可能不适应大规模并发的需求。 针对以上两种...
- **跨平台**:支持Windows、macOS和Linux等多种操作系统。 #### Pytest简介 Pytest是一个流行的Python测试框架,旨在简化测试过程并提高测试代码的可读性和可维护性。其主要特点有: - **易于上手**:几乎无需...
本文主要探讨了两种方法——交互式和非交互式修改用户密码,并提供了一个使用脚本自动化这一过程的示例。 1. **交互式修改用户密码**: 使用`passwd`命令是交互式修改用户密码的标准方式。在命令行中输入`passwd ...
9. **自动化部署**:在IT运维中,SSH常用于自动化任务,例如使用`expect`脚本或`Ansible`进行批量服务器配置和管理。 10. **Spring与SSH集成**:虽然题目中提到的文件名为“Spring02OA”,Spring是一个Java企业级...
对于跨平台支持,gtest提供了适应不同操作系统(如Linux、Windows、macOS)的构建脚本或配置选项。 总之,gtest是一个强大且灵活的单元测试框架,被许多知名项目如Chrome、LLVM和OpenCV所采用。通过学习和熟练使用...
例如,开发者可以编写自动化脚本,利用PuTTY的命令行功能来执行远程服务器上的测试用例。通过PuTTY,你可以启动远程服务器上的测试框架,如JUnit(在Java环境中)或pytest(在Python环境中),并收集测试结果。此外...