Python paramiko总结

介绍:

         paramiko 可以用例批量在远程linux用来执行命令,拷贝文件。

一  安装:

      pip install paramiko 

      pip 使用http://blog.csdn.net/qq_37023538/article/details/53615342 

二 paramiko 使用

#encoding=gbk
import paramiko,sys

class paramiko_class:

    def __init__(self, ip, port, username, password=None, key_file, know_hosts, key_type):
        self.hostname = ip
        self.port = port
        self.username = username
        self.password = password
		self.key_file = key_file
		self.know_hosts = know_hosts

    def connect(self):
        self.ssh = paramiko.SSHClient()
        self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
		try:
		    if(self.password == None):
                       self.key = paramiko.RSAKey.from_private_key_file(self.key_file)
                       self.ssh.load_system_host_keys(self.know_hosts)
		       self.ssh.connect(self.hostname,self.port,self.username,pkey=self.key)
		    else:
                       self.ssh.connect(self.hostname, self.port, self.uname, password=self.password)
		except ex:         
            print ex
	
    def close(self):
        self.ssh.close()

    def run(self,cmd):
        stdin, stdout, stderr = self.ssh.exec_command(cmd)
        std =  stdout.read()
        err = stderr.read()
        return std,err
	
    def ftp_put(self,localpath, remotepath):
        t = self.ssh.get_transport()
        sftp = paramiko.SFTPClient.from_transport(t)
        sftp.put(localpath,remotepath)
	
    def ftp_get(self,localpath,remotepath):
        t = self.ssh.get_transport()
        sftp = paramiko.SFTPClient.from_transport(t)
        sftp.get(remotepath,localpath)

三  参数和函数介绍

     ip = '172.0.0.108' #IP
     port = 22            #端口
     username = 'root'    #用户名
     password = '123456'  #密码登录的密码
     key_file = '/root/.ssh/id_rsa'  #rsa登录key文件地址
     know_hosts = '/root/.ssh/known_hosts'  # rsa登录know_hosts地址

     connect 连接函数

     run 运行命令行函数

    ftp_put 传文件到远程服务器函数

    ftp_get 从远程服务器取文件函数

你可能感兴趣的:(python,python,paramiko,paramiko,运行命令,paramiko,ras登录,paramiko,sftp,paramiko传输文件)