Python模块之paramiko的基本使用
1|0简介
- paramiko是一个基于SSHv2协议的纯Python(2.7,3.4+)库;
- 提供了客户端和服务器的功能;
- 可以实现SSH2远程安全连接,支持认证和密钥方式;
- 一般用于执行远程命令、传输文件、中间SSH代理等。
paramiko可以在Python代码中直接使用SSH协议对远程服务器进行操作,而不是调用ssh命令对远程服务器进行操作。
2|0安装
3|0说明
paramiko包含两个核心组件,分别是SSHClient和SFTPClient。
3|1SSHClient类
SSHClient类是对SSH会话的封装,该类封装了传输(transport)、通道(channel)及SFTPClient建立的方法(open_sftp),通常用于执行远程命令。
方法
-
connect() - 实现远程服务器的连接与认证,hostname是必传的参数
参数说明:
- hostname(str类型):连接目标主机IP地址或主机名
- port(int类型):连接目标主机的端口,默认为22
- username(str类型):校验的用户名(默认为当前的本地用户名)
- password(str类型):密码用于身份校验或解锁私钥
- pkey:私钥方式用于身份验证
- key_filename(str or list(str)类型):一个文件名或文件名的列表,用于私钥的身份验证
- timeout(float类型):一个可选的超时时间(以秒为单位)的TCP连接
- allow_agent(bool类型):设置为False时用于禁用连接到SSH代理
- look_for_keys(bool类型):设置为False时用来禁用在~./ssh中搜索秘钥文件
- compress(bool类型):设置为True时打开压缩
-
set_missing_host_key_policy(policy) - 设置连接远程主机没有本地主机秘钥或HostKeys对象时的策略,目前支持如下三种方式
- AutoAddPolicy:自动添加主机名及主机秘钥到本地HostKeys对象,并将其保存,不依赖load_system_host_keys,即使~/.ssh/known_hosts不存在也不影响
- RejectPolicy(默认):自动拒绝未知的主机名或秘钥,依赖load_system_host_keys()配置
- WarningPolicy:用于记录一个未知的主机秘钥的Python警告,并接受它,功能上与AutoAddPolicy相似,但未知主机会有告警
-
exec_command() - 在远程服务器上执行Linux命令的方法
-
open_sftp() - 在当前ssh会话的基础上创建一个sftp会话。该方法会返回一个SFTPClient对象
-
load_system_host_keys() - 加载本地公钥校验文件,默认为~/.ssh/known_hosts,非默认路径需要收工指定
例子
3|2SFTPClient类
SFTPClient作为一个SFTP客户端对象,根据SSH传输协议的sftp会话,实现远程操作,比如文件上传,下载,权限,状态等,端口就是SSH端口
方法
-
from_transport():创建一个已连通的SFTP客户端通道
-
put():上传本地文件到远程服务器
-
get():从远程服务器下载文件到本地
-
mkdir():在远程服务器上创建目录
-
remove():删除远程服务器中的文件
-
rmdir():删除远程服务器中的目录
-
rename():重命名远程服务器中的文件或目录
-
stat():获取远程服务器中文件的详细信息
-
listdir():列出远程服务器中指定目录下的内容
例子
4|0其它
想了解更多关于paramiko的说明和使用方式,可以去官方文档中查看
__EOF__

本文链接:https://www.cnblogs.com/blueberry-mint/p/16851862.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本