Ubuntu自动登录脚本,expect自动切换用户,xshell自动登录脚本

news2024/11/16 9:37:49

Ubuntu自动登录脚本,expect自动切换用户,xshell自动登录脚本

  • 一、!/usr/bin/expect -f的意义
  • 二、spawn命令行:
  • 三、send命令:
  • 四、expect
  • 五、interact命令:
  • 六、xshell自动化脚本
    • 1、怎么使用脚本
    • 2、编写脚本
    • 3、vbs的不足


本人用xshell的SSH登录云服务器,需要从用户ubuntu切换到root,再切换到lighthouse。编辑了一个自动切换用户的脚本。
vim新建脚本文件 autologin.sh,输入以下代码:

#!/usr/bin/expect -f
set user lighthouse
set password xxxxxxxx
set timeout 5
spawn su
expect "*assword:*"
send "$password\r"

expect "*#*"
spawn su lighthouse
expect "*assword:*"

send "$password\r"
expect "*$*"
send "cd\r"

interact

然后设置autologin.sh的可执行权限。

sudo chmod 776 autologin.sh
./autologin.sh

结果如下:
在这里插入图片描述

一、!/usr/bin/expect -f的意义

参考资料:/usr/bin/expect介绍

如果在usr/bin中没有expect的话,用apt安装。

$ sudo apt-get install expect

二、spawn命令行:

参考资料:linux spawn命令

三、send命令:

发送相应的命令到控制台。

四、expect

接收控制台信息,判断是否满足条件。

五、interact命令:

执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。

六、xshell自动化脚本

xshell具有脚本功能,可以实现很多自动化的操作。

1、怎么使用脚本

首先打开Xshell软件,找到工具选项卡–>脚本–>运行,此时会弹出打开需要运行的脚本文件对话框。

2、编写脚本

可以参照软件自带的示例,或者官网示例编写脚本。我这里用的是vbs格式。示例如下:

Sub Main
	xsh.Screen.Synchronous = true    '使窗口显示与当前输出同步	
	xsh.Screen.WaitForString "ubuntu@VM-4-13-ubuntu:~$"    ' 等待目标设备发回 "xxxx ttyS0" 字符串
	xsh.Sleep 500   ' 等待0.5s
	xsh.Screen.Send "./autologin.sh"  & VbCr   ' 发送"xxxxxx" 字符串和回车
	'参考文献:https://blog.csdn.net/qlexcel/article/details/120468358
End Sub

参考文献:

  • Xshell脚本学习
  • xshell自动化脚本

3、vbs的不足

vbs不支持#、?通配符(也可能是我的xshell版本问题)。javascript、python语言的脚本没有试过,可能支持通配符。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/138194.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

https访问流程详解

1. 基础知识 1.1 https起源 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。 鲍勃收信后&#xf…

jvm-sandbox:基础了解及demo演示

文章目录一、基础准备-被测应用二、代码编写-自定义Module三、jvm-sandbox安装及基础命令四、jvm-sandbox demo演示4.1、改变方法返回4.2、异常注入五、资源链接一、基础准备-被测应用 准备:先创建一个基础的SpringBoot项目并打jar包后在服务器启动 RestControll…

TP5反序列化利用链

说明 该文章来源于同事lu2ker转载至此处,更多文章可参考:https://github.com/lu2ker/ 文章目录说明TP5反序列化利用链下图是Mochazz 大佬画的非常优雅的一张调用链图Action!CUT!TP5反序列化利用链 本文以第二人称视角重点谈谈给…

max蒙皮动画+动作

首先关于max人物动画!如何制作! 首先! 我们要准备一个模型!人物的模型! 这是一个人物模型!obj的!没有任何东西!你也可以选择其他,我是从虚幻里面直接导出的&#xff0…

太卷了,华为某领导说招外包只要985!

你听说过华为od吗?od是outsourcing dispatch(外包派遣)的简称,虽然华为每年会挑选一部分优秀的od员工转为华为正编员工,但od本质上还是外包。最近一位华为员工爆料:太卷了!领导说招od员工也要98…

玻纤效应对skew的影响(二)

玻纤效应对对内skew的影响 参数对对内Skew的影响 在一个差分对中,对内skew是由PN走线Dk的差异造成的。导致Dk有差异的原因有很多,例如走线位置,core和pp的玻璃束位置,走线宽度等等。但是这些因素影响角度也不同,下图…

应用程序已被Java 安全阻止-- 如何全局设置Java 控制面板参数

最近遇到一个客户问题,客户方存在一个使用场景为使用IE访问一个页面 之后通过点击页面的按钮调起一个applet程序,结果遇到了一个弹窗告警:应用程序已被Java安全阻止。 对于这个问题 解决方案有两个: 1.将访问的页面站点加入到例外…

BGP在数据中心的应用2——BGP如何适应数据中心网络

注: 本文根据《BGP in the Datacenter》整理,有兴趣和英文阅读能力的朋友可以直接看原文:https://www.oreilly.com/library/view/bgp-in-the/9781491983416/上一部分笔记请参考:https://blog.csdn.net/tushanpeipei/article/deta…

echarts中得一些使用技巧和方法

一、取数据的最大值: let maxNum maxData.sort((a, b) > b - a)[0]; 二、echarts 自适应 所有的echarts里面设置了字体根据最外层body的字体来改变大小 // app.vue中的代码 // 页面开始加载时修改font-size var html document.getElementsByTagN…

VGG详解

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 ✨完整代码在我的github上,有需要的朋友可以康康✨ https://github.com/tt-s-t/Deep-Learning.git 目录 一、VGG网络的…

小侃设计模式(二十)-迭代器模式

1.概述 迭代器模式(Iterator Pattern)提供了一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。迭代器模式用于访问集合中的元素而不需要知道集合底层的数据形式。在JAVA语言中,迭代器模式已经成为其中不可缺少的…

3000字13张图详细介绍RAID0、1、5、6、10、50、60,非常值得收藏!

RAID简述 RAID 是一种用于提高数据存储性能和可靠性的技术,英文全称:Redundant Array of Independent Disks,中文意思:独立磁盘冗余阵列。RAID 系统由两个或多个并行工作的驱动器组成,这些可以是硬盘或者 SSD&#xf…

力扣刷题记录——344.反转字符串、345.反转字符串中的元音、349.两个数组的交集

本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《344.反转字符串、345.反转字符串中的元音、349.两个数组…

Jvm 系列(十二) JVM的执行引擎全面讲解

JVM 执行引擎 1、执行引擎概述 执行引擎是Java虚拟机核心的组成部分之一。 “虚拟机”是相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理机、缓存、指令集和操作系统层面上的,而虚拟机的执行…

国产直流马达驱动芯片SS6216的功能参数以及应用

直流有刷电机驱动芯片SS6216是为消费类产品,玩具和其他低压或者电池供电的运动控制类应用提供了一个集成的有刷电机驱动器解决方案。是为低电压下工作的系统而设计的直流电机驱动集成电路,单通道低导通电阻。具备电机正转/反转/停止/刹车四个功能。 直流…

STL剖析(二):容器底层数据结构及常见用法

一.概述 本文主要聚焦于STL容器,STL完整的容器分类体系如下所示,下文将逐一对各个容器底层的数据结构以及常见用法进行介绍。 测试环境:Ubuntu 22.04 g 11.3.0 二.顺序容器 顺序容器都对应着线性数据结构。 2.1 array array的使用需要引…

6.2 微服务-SpringBoot

目录 6.2.1 SpringBoot 6.2.1.1 什么是Spring Boot 6.2.1.2 SpringBoot的特点 6.2.2 快速入门 6.2.2.1 创建工程 6.2.2.2 引入依赖 6.2.2.3 启动类 6.2.2.4 controller 6.2.2.5 测试 6.2.3 注解与属性注入 6.2.3.1 注解 6.2.3.1.1 EnableAutoConfiguration 6.2.3.1…

leetcode 240. 搜索二维矩阵 II-java题解

题目所属分类 从右上角出发往下遍历 倒是也可以二分 原题链接 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 代码案例: 输入:m…

加解密与HTTPS(4)

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~ 在互联网应用中,安全性问题已经越来越突出。从DDoS攻击、矿机劫持、乌云事件(白帽子变成黑帽子),到窃听、偷拍、强…

Word控件Spire.Doc 【Table】教程(1):在 Word 中创建表格-C#VB.NET

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…