介绍
paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。
- 安装paramiko:使用豆瓣的镜像源,安装paramiko模块并指定安装版本为2.6.0
pip install -i https://pypi.douban.com/simple paramiko==2.6.0
paramiko核心组件
- paramiko包含两个核心组件:SSHClient和SFTPClient(sftp=ssh file transfer protocol)。
- SSHClient的作用类似于Linux的ssh命令,是对SSH会话的封装,该类封装了传输(Transport),通道(Channel)及SFTPClient建立的方法(open_sftp),通常用于执行远程命令。
- SFTPClient的作用类似与Linux的sftp命令,是对SFTP客户端的封装,用以实现远程文件操作,如文件上传、下载、修改文件权限等操作。
基于paramiko实现ssh客户端密码远程登录
- 通过输入用户名和密码:
import paramiko
def login_ssh_passwd(hostname='192.168.1.30', port=22,username='root', password='123456', command='df -h'):
#实例化SSHClient
with paramiko.SSHClient() as client:
#自动添加策略,保存服务器的主机名和密钥信息,如果不添加,那么不再本地know_hosts文件中记录的主机将无法连接
client.set_missing_host_key_policy(paramiko.AutoAddPolicy(