`
idning
  • 浏览: 138450 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

我的登录脚本发展史

 
阅读更多

到公司以后,公司不能直接登录 到线上服务器,而必须通过一个中间服务器,中间服务器需要一个动态密码验证,无法自动化,于是很郁闷,分别尝试了三种办法

 

1. 在内网开tunel 端口,办公机直接ssh到这个端口即可.

     Ok,但是一周后被公司安全组扫描 发现,禁止我继续这样.

 

2. 既然如此,我可以在内网用squid开http代理,或者用ssh开socks代理,然后连这个端口就行了

    理论上也ok,而且被公司扫描到的可能性很小, 但是预防为主,所以没搞,

 

3. 用expect脚本登录,只需要手动输入一个动态密码就ok,而且使用ssh复用连接,下次不需要输动态密码

   问题是expect脚本后,在服务器开screen ,之后resize gnome-console, screen会坏掉,这是一个悲剧,尝试了很久,没搞定这个问题,开始寻找能够发送键盘按键的软件(模拟按键)找到结果便是4,很赞: 

 

4. xdotool:

    xdotool是x11自动化测试工具,能够模拟键盘,鼠标的各种输入.

    目前来看没问题,而且还能自动设置gnome-console的编码为GBK,大赞啊!!!

 

 

附Expect脚本:

 

#注意. alias r="export LANG=GBK && ssh.exp"                                   
#所有敏感部分被替换为 ....
set pwd [lindex $argv 0]
set timeout  3

spawn ssh ........

expect "......." { send "$pwd\r"}\
        timeout {}

expect "*......*" { send "ssh ............. \r" }

expect "*password*" { send ".......\n" }
expect "........ " { send "screen -ls\n" }
interact
 

附xdotool脚本: 

 

#!/bin/sh
xdotool key  alt+t Down Down Right Return  # 这是相当于键盘按 alt+t ,出gnome-console的菜单,然后选择响应的项.
xdotool type "r1"   #实际上是 ssh xxx@xxx
xdotool key  Return Return                                                      
xdotool type "ssh xx@1.1.1.1"  # 再ssh到别个机器
xdotool key  Return Return 
sleep 0.3
xdotool type "xxxx"                   #  这里需要密码,因为中转机器无法记忆密码.
xdotool key  Return Return
xdotool type "screen -ls"         #真的命令.
xdotool key  Return Return

xdotool type "screen -r "

 

这场懒人与公司制度的斗争还没有结束,继续。。。

分享到:
评论

相关推荐

    互联网发展史

    互联网发展史

    计算机语言发展史大全

    这份"计算机语言发展史大全"涵盖了从早期的机器语言、汇编语言,到高级编程语言,再到现代的脚本语言和面向对象语言的整个演变过程。 在计算机的早期,人们直接使用机器语言,这是一种二进制代码,由0和1组成,对应...

    [详细完整版]计算机发展史.pdf

    计算机发展史是一部技术创新的史诗,从早期的机械装置到现代的智能系统,计算机技术的演进深刻地改变了我们的生活方式。自计算机诞生以来,它已经经历了五个显著的发展阶段,分别是: 1. **电子管计算机**(1946-...

    趣味数学数字的发展史初中学习教案.pptx

    趣味数学数字的发展史初中学习教案.pptx

    JavaWeb课堂01_WEB发展史r

    本课程"JavaWeb课堂01_WEB发展史"旨在深入探讨WEB技术的发展历程,以及Java在其中的角色和影响。以下是对这个主题的详细展开: WEB发展史: 1. **起源**:WEB的诞生可以追溯到1989年,由欧洲核子研究中心(CERN)的...

    组态软件的发展史.pdf

    组态软件的发展史 组态软件,又称监控组态软件,译自英文 SCADA,指的是Supervision, Control and Data Acquisition,即数据采集与监视控制。组态软件的应用领域很广泛,包含电力系统、给水系统、石油、化工等领域...

    剪辑用西方纪录片发展史分镜头脚本.doc

    【西方纪录片发展史】 纪录片作为一种记录现实的艺术形式,起源于19世纪末的西方社会。在1880年代末,随着工业革命的推动,人们对动态影像的渴望日益增强,试图将静态的照相技术转化为电影技术。在这个过程中,法国...

    剪辑用-西方纪录片发展史分镜头脚本.doc

    【西方纪录片发展史】 纪录片作为一种记录现实的电影形式,起源于19世纪末的西方社会。这个历程可以追溯到法国发明家朱尔·马雷和美国发明家托马斯·爱迪生等人的努力,他们为电影摄影机和放映机的技术进步做出了...

    web发展史.docx

    Web 发展史可以粗略地分为五个阶段:静态内容阶段、CGI 程序阶段、脚本语言阶段、瘦客户端应用阶段和 RIA 应用阶段。 静态内容阶段是 Web 发展的最初阶段,在这个阶段,Web 服务器可以被看作是支持超文本的共享文件...

    外文文献翻译_JSP技术发展史

    总结来说,JSP技术的发展历程反映了Web应用程序开发的进步,它为开发者提供了强大的工具来创建动态、交互式的Web应用,同时保持了良好的跨平台性和可扩展性。结合数据库和JavaBean,JSP成为了一个功能完备的Web开发...

    游戏引擎发展史(上).pdf

    游戏引擎的定义包含了多个关键系统,如渲染引擎(负责图像呈现,包括2D和3D图像处理)、物理引擎(处理物体运动和相互作用)、碰撞检测系统(确保物体交互的准确性)、音效系统(生成和播放各种游戏声音)、脚本引擎...

    Android发展史.pdf

    Android 系统发展史 Android 系统发展史可以追溯到2005年,当时Google收购了 Android 公司,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android 系统架构采用了分层的架构,分为四个层,从高层...

    《漫谈互联网发展史》微课设计.pdf

    《漫谈互联网发展史》微课设计主要涉及互联网的发展脉络、关键人物、关键技术以及其对社会生活的影响。本文档详述了如何利用动画微课的形式,让学生通过互联网领域的大咖人物,如比尔·盖茨、乔布斯、扎克伯格等,...

    轻松了解php发展史

    PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其在Web开发领域中...无论是初学者还是经验丰富的开发者,了解PHP的发展史都能更好地理解和利用这种语言,为Web开发带来更多的可能性。

    a21双11直播脚本.pdf

    • 我们的品牌发展史,可以跟观众互动一下,问一下大家对我们品牌的了 解之类的 • 讲一下本次直播的奖品有哪些,分别在哪些时间段,共有 3 轮优惠(优 惠券,红包雨) • 分享今年的一个男装的流行趋势,根据自己的...

    1-发展史、ECMA、编程语言、变量、JS值.pdf

    在讨论JavaScript编程语言的发展史以及与其相关的技术概念时,首先需要了解的是浏览器内核的概念和历史发展。早期的浏览器内核包括IE的Trident、Chrome的Blink、Safari的WebKit、Firefox的Gecko和Opera的Presto。...

    编程语言发展史.pdf

    编程语言发展史 编程语言的发展史悠久,自1954年Fortran的出现以来,编程语言的发展经历了多次重要的变革。在这些变革中,我们可以看到编程语言从简单到复杂、从结构化到面向对象、从函数式到泛型的演变过程。 ...

    动态网页编程发展史

    动态网页编程发展史 动态网页编程是互联网技术发展的重要里程碑,它使得网页不仅仅是静态的信息展示,而是能够与用户交互、实时更新数据的平台。本文将深入探讨动态网页编程的起源、发展历程以及关键的技术变迁。 ...

    运维发展史.pdf

    【运维发展史】\n\n运维,作为信息技术领域的一个关键组成部分,伴随着互联网的崛起而不断发展。自20世纪90年代起,中国互联网经历了三个重要阶段:门户时代、科技巨头时代以及现在的多元化与人工智能时代。从新浪、...

    编程语言发展史:Ruby语言的发展和应用

    编程语言发展史:Ruby语言的发展和应用 Ruby语言的发展历史 Ruby语言的发展可以追溯到1993年,日本程序员松本行弘开始开发Ruby。他的目标是创造一种易于使用的语言,同时具有面向对象编程语言的强大功能。在 Ruby...

Global site tag (gtag.js) - Google Analytics