paramiko連接並配置交換機


#-*-coding:UTF-8 -*-
import paramiko
import time
ip = "192.168.10.11"
username = "admin"
password = "Huawei@123"
\\創建交換機登陸信息變量
ssh=paramiko.SSHClient()
\\創建SSH對象
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
\\允許連接不在know_hosts文件中的主機
ssh.connect(hostname=ip,port=22,username=username,password=password)
\\SSH方式連接交換機
print("成功連接",ip)

command=ssh.invoke_shell()
\\調用交換機命令行
command.send("sys\n")
command.send("sysname HW_Switch\n")
command.send("interface loopback 0\n")
command.send("ip address 192.168.0.124\n")
command.send("return\n")
command.send("save\n")
command.send("y\n")
\\發送配置命令
time.sleep(3)
output=command.recv(65535)
print(output)
\\設置等待時間並打印回顯內容
ssh.close()
\\關閉連接

本例中通過SSH方式成功連接交換機后,我們需要調用paramiko.SSHClient()下面的invoke.shell()來喚醒shell,也就是華為交換機的VRP命令行,並將它賦值給變量command,之后調用invoke.shell()下面的command()函數,向交換機發送配置命令。
Python是一次性執行腳本命令的,中間沒有時間間隔,這樣就會導致某些命令遺漏和回顯內容不完整的問題。我們在使用recv()函數將回顯結果保存之前,需要調用time模塊下的sleep()函數手動讓Python停止3秒鍾,這樣回顯內容才能被完整地打印出來。這里的command.recv(65535)中的65535代表截取65535個字符的回顯內容。對交換機配置完畢后,使用close()方法退出SSH連接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM