paramiko 模块
paramiko 是一个用 Python 语言编写的、遵循 SSH2 协议、支持以加密和认证方式进行连接远程服务器的模块。改模块可以对远程服务器进行一些命令或文件操作。
安装
使用 pip3 安装 paramiko 模块
1 |
|
常用函数
SSHclient 类
SSH 客户端
1.connect:远程连接服务器
1 |
|
2.exec_command:远程执行命令
1 |
|
3.invoke_shell:生成交互的Shell
1 |
|
4.open_sftp:打开 sftp
1 |
|
Channel类
SSH2 的抽象通道
1.get_pty:打开一个终端
1 |
|
2.send(s)/sendall(s):发送命令
1 |
|
3.settimeout(timeout):设置超时时间
1 |
|
4.shutdown(how):关闭连接
1 |
|
SFTP Client类
用 SFTP 的方式打开 SSH 连接,并远程执行文件操作,可用于上传和下载文件。
1.chmod:为文件赋予执行权限
1 |
|
2.close:关闭连接通道
1 |
|
3.file/open:打开文件
1 |
|
4.get:下载文件
1 |
|
5.getcwd:当前远程文件路径
1 |
|
6.listdir:文件列表
1 |
|
7.mkdir:创建文件夹
1 |
|
8.posix_rename/rename:重命名文件
1 |
|
9.put:上传文件
1 |
|
10.remove/rmdir:删除文件
1 |
|
实例
连接远程服务器
paramiko 模块连接远程服务器可以使用远程服务器的用户名、密码登录
1 |
|
使用命令
在登录远程服务器后,利用 paramiko 模块可以使用 shell 命令操作远程服务器,比如:df 命令、pwd 命令、cat 命令等等…
1 |
|
在 exec_command 函数中,exec_command 执行的是单个会话,执行完成后会回到登录的缺省目录,多个命令需要 命令1;命令2;命令3 的写法
sftp 上传和下载文件
1 |
|
服务器文件修改内容
sftp 对象可以在线修改远程服务器上文件的内容
1 |
|
查询文件
使用 sftp 对象获取远程服务器上的文件列表
1 |
|
在 Linux 模拟终端
1 |
|
结语
以上是 paramiko 模块的基本操作,学会以上内容后在多个远程服务器的情况下,可以快速、便捷的操作服务器内容