Python模块之pxssh
pxssh模块用于在python中ssh远程连接,执行命令,返回结果,但注意不支持Windows系统
#!/usr/bin/env python #-*- coding:utf-8 -*- from pexpect import pxssh host = "172.16.1.15" username = "root" password = "123456" cmd1 = "ifconfig" cmd2 = "uptime" try: s = pxssh.pxssh() #实例化一个对象 s.login(host,username,password) #登录 s.sendline(cmd1) #执行命令 s.prompt() #匹配cmd1执行后的下一步操作的命令提示符 print s.before #输出命令提示符之前的内容 s.sendline(cmd2) s.prompt() #s.prompt()按顺序匹配命令提示符,即如果注释上一个s.prompt(),这次会匹配cmd1执行后的命令提示符,s.before也只会输出cmd1返回的结果 print s.before #s.before指的是两个命令提示符之间的内容,即如果注释上一个print s.before,这次也只会输出cmd2返回的结果,而不是cmd1+cmd2的内容 s.logout() #登出 except : print "pxssh failed on login."
最佳实践
s.sendline(cmd)和s.prompt()连着写,可以不输出s.before