用Python代你自动输密码!这个脚本简直不要太好…

2018-08-21 05:42:41来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

用Python代你自动输密码!这个脚本简直不要太好用!pexpect神器

 

什么是pexpect

顾名思义,你一定能猜到与expect有什么联系。还不知道什么是expect?好吧,我们先来科普下:

expect是Don Libes发明的tcl脚本语言的一个扩展。可以用于ssh, ftp, passwd, telnet等互交式应用场景。下面的书是其经典之作,想学习tcl的可以阅读一下。

Exploring Expect: A Tcl-based Toolkit for Automating Interactive Programs (Nutshell Handbooks) 1st Edition

用Python代你自动输密码!这个脚本简直不要太好用!pexpect神器

 

进群:548377875   即可获取数十套PDF哦!

所以,从名字就可以看出pexpect就是用python实现的类似expect的功能的模块。

下载安装

任性安装法(有网有权限):

1pip install pexpect

科学安装法(无网、无管理员权限):

用Python代你自动输密码!这个脚本简直不要太好用!pexpect神器

 

脚本示例

示例一:

用Python代你自动输密码!这个脚本简直不要太好用!pexpect神器

 

  • 第4行:
  • spawn作用是运行子程序,比如ssh登陆命令:ssh chenfeng@linuxserver 'ls',其中ls是ssh登陆后自动执行的命令,执行完命令自动退出ssh。
  • logfile = sys.stdout的作用是把ssh执行的输出结果实时打印到当前终端。默认情况是看不到ssh的执行结果的。
  • encoding="utf-8",是指定把ssh的byte类型自动转换成string类型。
  • 第7、8行:
  • expect是作用检测ssh的输出,是否包含‘password'字符串。一旦检测到了'password',就调用sendline来发送密码‘12345678’。
  • 第13行:
  • EOF是检测ssh命令退出。
用Python代你自动输密码!这个脚本简直不要太好用!pexpect神器

 

用Python代你自动输密码!这个脚本简直不要太好用!pexpect神器

 

你可能还感觉不到上面的示例脚本带来的便利性。但如果你有100台远程服务器,想象一下你一个一个敲密码的样子……

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:微信撤回技术能找回!QQ当然也可以,防好友撤回QQ消息神器!

下一篇:Python学习之路-随笔01 初识python3(数据类型及其运算和控制)