到公司以后,公司不能直接登录 到线上服务器,而必须通过一个中间服务器,中间服务器需要一个动态密码验证,无法自动化,于是很郁闷,分别尝试了三种办法
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组成,对应...
计算机发展史是一部技术创新的史诗,从早期的机械装置到现代的智能系统,计算机技术的演进深刻地改变了我们的生活方式。自计算机诞生以来,它已经经历了五个显著的发展阶段,分别是: 1. **电子管计算机**(1946-...
趣味数学数字的发展史初中学习教案.pptx
本课程"JavaWeb课堂01_WEB发展史"旨在深入探讨WEB技术的发展历程,以及Java在其中的角色和影响。以下是对这个主题的详细展开: WEB发展史: 1. **起源**:WEB的诞生可以追溯到1989年,由欧洲核子研究中心(CERN)的...
组态软件的发展史 组态软件,又称监控组态软件,译自英文 SCADA,指的是Supervision, Control and Data Acquisition,即数据采集与监视控制。组态软件的应用领域很广泛,包含电力系统、给水系统、石油、化工等领域...
【西方纪录片发展史】 纪录片作为一种记录现实的艺术形式,起源于19世纪末的西方社会。在1880年代末,随着工业革命的推动,人们对动态影像的渴望日益增强,试图将静态的照相技术转化为电影技术。在这个过程中,法国...
【西方纪录片发展史】 纪录片作为一种记录现实的电影形式,起源于19世纪末的西方社会。这个历程可以追溯到法国发明家朱尔·马雷和美国发明家托马斯·爱迪生等人的努力,他们为电影摄影机和放映机的技术进步做出了...
Web 发展史可以粗略地分为五个阶段:静态内容阶段、CGI 程序阶段、脚本语言阶段、瘦客户端应用阶段和 RIA 应用阶段。 静态内容阶段是 Web 发展的最初阶段,在这个阶段,Web 服务器可以被看作是支持超文本的共享文件...
总结来说,JSP技术的发展历程反映了Web应用程序开发的进步,它为开发者提供了强大的工具来创建动态、交互式的Web应用,同时保持了良好的跨平台性和可扩展性。结合数据库和JavaBean,JSP成为了一个功能完备的Web开发...
游戏引擎的定义包含了多个关键系统,如渲染引擎(负责图像呈现,包括2D和3D图像处理)、物理引擎(处理物体运动和相互作用)、碰撞检测系统(确保物体交互的准确性)、音效系统(生成和播放各种游戏声音)、脚本引擎...
Android 系统发展史 Android 系统发展史可以追溯到2005年,当时Google收购了 Android 公司,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android 系统架构采用了分层的架构,分为四个层,从高层...
《漫谈互联网发展史》微课设计主要涉及互联网的发展脉络、关键人物、关键技术以及其对社会生活的影响。本文档详述了如何利用动画微课的形式,让学生通过互联网领域的大咖人物,如比尔·盖茨、乔布斯、扎克伯格等,...
PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其在Web开发领域中...无论是初学者还是经验丰富的开发者,了解PHP的发展史都能更好地理解和利用这种语言,为Web开发带来更多的可能性。
• 我们的品牌发展史,可以跟观众互动一下,问一下大家对我们品牌的了 解之类的 • 讲一下本次直播的奖品有哪些,分别在哪些时间段,共有 3 轮优惠(优 惠券,红包雨) • 分享今年的一个男装的流行趋势,根据自己的...
在讨论JavaScript编程语言的发展史以及与其相关的技术概念时,首先需要了解的是浏览器内核的概念和历史发展。早期的浏览器内核包括IE的Trident、Chrome的Blink、Safari的WebKit、Firefox的Gecko和Opera的Presto。...
编程语言发展史 编程语言的发展史悠久,自1954年Fortran的出现以来,编程语言的发展经历了多次重要的变革。在这些变革中,我们可以看到编程语言从简单到复杂、从结构化到面向对象、从函数式到泛型的演变过程。 ...
动态网页编程发展史 动态网页编程是互联网技术发展的重要里程碑,它使得网页不仅仅是静态的信息展示,而是能够与用户交互、实时更新数据的平台。本文将深入探讨动态网页编程的起源、发展历程以及关键的技术变迁。 ...
【运维发展史】\n\n运维,作为信息技术领域的一个关键组成部分,伴随着互联网的崛起而不断发展。自20世纪90年代起,中国互联网经历了三个重要阶段:门户时代、科技巨头时代以及现在的多元化与人工智能时代。从新浪、...
编程语言发展史:Ruby语言的发展和应用 Ruby语言的发展历史 Ruby语言的发展可以追溯到1993年,日本程序员松本行弘开始开发Ruby。他的目标是创造一种易于使用的语言,同时具有面向对象编程语言的强大功能。在 Ruby...