Paramiko食用方法
paramiko包含两个核心组件:SSHClient和SFTPClient
SSHClient
SSHClient的作用类似于Linux的ssh命令,是对SSH会话的封装
该类封装了传输Transport,通道Channel及SFTPClient建立的方法open_sftp,通常用于执行远程命令
这个一般不怎么使用,如果需要远程执行命令只需要ssh usr@host ‘command’
实在不行就去做一个免密登录,ssh-keygen,ssh-copy-id。
SFTPClient
SFTPClient的作用类似与Linux的sftp命令,是对SFTP客户端的封装用以实现远程文件操作,如文件上传、下载、修改文件权限等操作
一般连接操作:
1 | trans = paramiko.Transport((host, 22)) |
防止报错连接操作
1 | trans = paramiko.Transport((host, 22)) |
sftp常用操作
sftp.put(localpath, remotepath, callback=None, confirm=True)
- 解释:上传本地路径为localpath的文件到目标主机remotepath处
sftp.get(remotepath, localpath, callback=None)
- 解释:下载远程路径为remotepath路径的的文件到本地主机localpath处
open(filename, mode=’r’, bufsize=-1)
- 解释:打开位于远程主机上的文件,与open函数类似,返回文件对象
listdir(path=path)
- Explain:返回给定路径下文件及目录的列表,默认路径为当前工作目录(这个方法感觉没有os.walk好用,想要层层获取文件还需要结合递归进行调用)
chdir(path=None)
- Explain:修改当前SFTP连接会话的工作目录
lstat(path)
- Explain:检索当前path所指向的文件信息
mkdir(path,mode=511)
- Explain:根据path在目标主机创建默认权限为511的目录
rmdir(path)
- Explain:删除给定path所指向的目录
remove(path)
- Explain:删除给定path所指向的文件
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.


