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

安装方法:pip install paramiko

使用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() # 关闭连接

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐