python 自动化运维 Paramiko 模块

时间:2022-12-21 22:53:50

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")