Python paramiko总结

本文介绍了Python的Paramiko库,用于批量在远程Linux系统上执行命令和传输文件。主要内容包括Paramiko的安装、基本使用、连接函数、运行命令、FTP文件传输等关键功能。
摘要由CSDN通过智能技术生成

介绍:

         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 从远程服务器取文件函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值