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

05-18 11:57