python3 基于paramiko 实现ssh连接并执行命令

前言

由于最近在研究网络设备巡检工具开发,需要基于ssh来收集各个网络设备的数据,然后再生成报表,目前是第一步,先要能收集到数据,所以基于python3 的paramiko 库来实现,这个库不仅可以实现ssh还可以实现sftp的功能哦,如果你闲的无聊,又觉得那些CRT或xshell收费无聊,可以写一个同样的工具。

环境准备

python3 安装如下包,我是在centos 7环境下测试的
pip3 install ecdsa
pip3 install Crypto
pip3 install paramiko

代码部分

# -*- coding: utf-8 -*-
import paramiko

# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在known_hosts文件上的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname="192.168.80.130", port=22, username="root", password="Aa123456")
# 执行命令
stdin, stdout, stderr = ssh.exec_command('df -h')
# 获取结果
result = stdout.read().decode()
# 获取错误提示(stdout、stderr只会输出其中一个)
err = stderr.read()
# 关闭连接
ssh.close()
print(result)

程序结果

之前由于没有加decode()这个方法进行编码害得我折腾好久,一直显示乱码。
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值