版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/87925956
一 点睛
paramiko是基于Python实现的SSH2远程安全连接,支持认证及密钥方式。可以实现远程命令执行、文件传输、中间SSH代理等功能,相对于Pexpect,封装的层次更高,更贴近SSH协议的功能,官网地址: http://www.paramiko.org
二 paramiko的安装
(venv) E:\Python\python_auto_maintain>pip install paramiko
三 实战
1 点睛
先介绍一个简单实现远程SSH运行命令的示例。该示例使用密码认证方式,通过exec_command()方法执行命令。
2 代码
#coding=utf-8
#!/usr/bin/env python
import paramiko
hostname = '192.168.0.120'
username = 'root'
password = 'waDY820828'
paramiko.util.log_to_file('syslogin.log') #发送paramiko日志到syslogin.log文件
ssh=paramiko.SSHClient() #创建一个ssh客户端client对象
# 自动添加主机名及主机密钥到本地HostKeys对象,并将其保存,不依赖load_system_host_keys()的配置,即使 ~/.ssh/known_hosts不存在也不产生影响;
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=hostname,username=username,password=password) #创建ssh连接
stdin,stdout,stderr=ssh.exec_command('free -m') #调用远程执行命令方法 exec_command()
print stdout.read() #打印命令执行结果,得到Python列表形式,可以使用 stdout.readlines()
ssh.close() #关闭ssh连接
3 运行结果
E:\Python\python_auto_maintain\venv\Scripts\python.exe E:/Python/python_auto_maintain/6_1.py
total used free shared buff/cache available
Mem: 4782 4468 146 3 168 73
Swap: 3967 393 3574