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()這個方法進行編碼害得我折騰好久,一直顯示亂碼。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章