Paramiko 模块
paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。
安装方法 pip install paramiko
模块使用介绍场景
1、在windows 下面远程执行liunx 主机的命令
连接方法一、
#coding:utf-8import paramiko
ssh = paramiko.SSHClient()
known_hosts = paramiko.AutoAddPolicy() ##默认的受信列表
ssh.set_missing_host_key_policy(known_hosts) ##采用默认授信列表
#建立连接
ssh.connect(
hostname = "192.168.10.31",
port = 22,
username = "root",
password = "1111"
)
stdin,stdout,stderr = ssh.exec_command("free -m ")
print (stdout.read())
ssh.close()
连接方法二、
trans = paramiko.Transport(("192.168.10.31",22))trans.connect(username = "root",password = "1111")#登录必须先实例化一个客户端ssh = paramiko.SSHClient()ssh._transport = trans #设置客户端使用该通道stdin,stdout,stderr = ssh.exec_command("free -m ")#远程执行命令print (stdout.read())ssh.close()
#模拟服务器上传和下载功能
#coding:utf-8import paramikotrans = paramiko.Transport(("192.168.10.31"),22)trans.connect(username = "root",password = "1111")trans = paramiko.Transport(("192.168.10.31",22))trans.connect(username = "root",password = "1111")sftp = paramiko.SFTPClient.from_transport(trans)#实例化文件一个上传下载的客户端sftp = paramiko.SFTPClient.from_transport(trans)#上传#get从远程服务器上下载文件到本地sftp.get("/root/Desktop/test.py","t1.py")#下载#put 上传本地文件到远程服务器sftp.put("by.txt","/root/Desktop/beiying.txt")