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
