python fabric 编写SSH

2020-01-07 15:05:51 浏览数 (2)

代码语言:javascript复制
#-*- coding:utf8 -*-
from fabric import Connection

class linuxOper(object):
    def __init__(self,ipaddr,user='root',password='',port=22,gateway=''):
       self.gateway = gateway 
       self.connobj = Connection(host=ipaddr,user=user,connect_kwargs={'password':password},port=int(port),gateway=self.gateway,)
        
    def getConnObj(self):
        return self.connobj
    def run(self,cmd):
        return self.connobj.run(cmd).stdout

if __name__ == '__main__':
    # 普通模式
    lsobj = linuxOper('192.168.2.1','root','qqq')
    # 执行命令
    lsobj.run('ls -l')
    
    # 中继模式
    newsobj = linuxOper('192.168.1.10','root','qqq',gateway=lsobj.getConnObj())
    # 执行命令
    newsobj.run('ls -l')

0 人点赞