Python使用paramiko远程连接服务器及上传文件

Posted 临渊(v:superz-han)

tags:

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

paramiko是一个基于SSH2的Python三方包,可以用于连接远程服务器,执行命令或上传下载文件等。

使用SSH连接远程服务器并执行命令

import paramiko

paramiko.util.log_to_file(‘syslogin.log‘)  # 设置运行日志

ssh_cli = paramiko.SSHClient()  # 创建SSHClient实例
ssh_cli.load_system_host_keys()  # 加载系统默认ssh_keys

ssh_cli.connect(hostname=‘******‘, username=‘test‘, password=‘123456‘)  # 建立ssh连接

stdin, stdout, stderr = ssh_cli.exec_command(‘free -h‘)  # 在远程服务器上执行命令
print(stdout.read().decode(‘utf-8‘))  # 输出命令返回结果

ssh_cli.close()  # 关闭连接

使用SFTP上传下载文件

import paramiko

server = (‘***.***.***.***‘, 22)  # 服务器地址及端口
t = paramiko.Transport(server)  # 实例化连接对象
t.connect(username=‘test‘,password=‘123456‘)  # 建立连接
sftp = paramiko.SFTPClient.from_transport(t)  # 使用链接建立sftp对象

print(sftp.listdir(‘/home/test‘))  # 列出目录所有文件

#  下载
remote_file = ‘/home/test/a.txt‘  # 服务器上的文件
local_file = ‘a.txt‘  # 要保存的本地文件
sftp.get(remote_file, local_file)  # 下载文件

# 上传
sftp.mkdir(‘/home/test/dat‘)  # 创建目录
local_file = ‘b.txt‘  # 本地文件
remote_file = ‘/home/test/dat/b.txt‘  # 要保存到服务器上的文件
sftp.put(local_file, remote_file)  # 上传

t.close()  # 关闭连接

以上是关于Python使用paramiko远程连接服务器及上传文件的主要内容,如果未能解决你的问题,请参考以下文章

Python 之Paramiko模块

Python之远程控制库paramiko

Python之远程控制库paramiko

Python3之paramiko模块

Paramiko模块,用python代码连接服务器执行命令

python paramiko 传输下载文件