Python-paramiko远程传输使用

Posted 小小菜_v

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-paramiko远程传输使用相关的知识,希望对你有一定的参考价值。

paramiko远程传输文件

class RemoteConnect(object):
    """
    远程连接传输
    """

    def __init__(self, host_ip, username, password):
    	"""
    	参数初始化
    	host_ip:服务器ip
    	username:用户名
    	password:密码
    	"""
        self.host_ip = host_ip
        self.port = 22 # 端口号
        self.username = username
        self.password = password

    def connect(self, conn):
        conn.connect(hostname=self.host_ip,
                     port=22,
                     username=self.username,
                     password=self.password,
                     allow_agent=False,
                     look_for_keys=False)
        return conn

    def connect_remote_machine(self, cmd):
    	"""
    	建立连接,并在远程服务器上运行命令
    	cmd:需要运行的commend
    	"""
        try:
            para = paramiko.SSHClient()
            para.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            para_ = self.connect(para)
            stdout = para_.exec_command(cmd)[1]
            res = str(stdout.read())
        except Exception as ex:
            print(ex)
        finally:
            try:
                para.close()
                para_.close()
            except Exception as ex:
                print(ex)
            return res


    def sftp_file(self):
    	"""建立sftp连接"""
        transport = paramiko.Transport(self.host_ip, self.port)
        transport.connect(username=self.username,
                          password=self.password)
        sftp = paramiko.SFTPClient.from_transport(transport)
        return sftp

    def sftp_put_file(self, local_path, remote_path):
    	"""
    	sftp推送文件到远程服务器
    	local_path:本地文件路径
    	remote_path:远程服务器路径
		"""
        try:
            sftp = self.sftp_file()
            sftp.put(local_path, remote_path)
        except Exception as ex:
            print(ex)
            return False
        finally:
            try:
                sftp.close()
            except Exception as ex:
                print(ex)
            return True

    def sftp_get_file(self, remote_path, local_path):
    	"""
    	sftp远程获取文件
    	local_path:本地文件路径
    	remote_path:远程服务器路径
		"""
        try:
            sftp = self.sftp_file()
            sftp.get(remote_path, local_path)
        except Exception as ex:
            print(ex)
            return False
        finally:
            try:
                sftp.close()
            except Exception as ex:
                print(ex)
            return True

以上是关于Python-paramiko远程传输使用的主要内容,如果未能解决你的问题,请参考以下文章

Python-Paramiko 错误:'RSAKey' 对象不可迭代'

python-paramiko初体验

如何从我的 DatePicker 片段中传输格式化的日期字符串?

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

如何将数据从活动传输到片段? [复制]