Dùng thư viện netmiko trên python SSH vào thiết bị và thực hiện những lệnh
show căn bản
THỰC HIỆN:
1. Chuẩn bị cấu hình trên Router
conf thostname R_1ip domain name NETMIKO.labno ip domain-lookupbanner motd #===R_1 NETMIKO LAB===#username admin privilege 15 password admin1234service password-encryptionline con 0logging synchronouslogin localexitline vty 0 4login localtransport input allcrypto key generate rsa general-keys modulus 1024ip ssh version 2interface Et0/0no shutdownip address 192.168.0.1 255.255.255.0description ===Connect to PC===exit!endwri
Tham khảo
cấu hình mẫu/cấu hình cơ bản
tại đây
2. Python script Netmiko SSH connection
#!/usr/bin/env python3
import netmiko
# Định nghĩa thông tin thiết bị trong dictionary (thông tin cấu hình trong phần chuẩn bị cấu hình)
device_info = {
"host": "192.168.0.1",
"port": 22,
"username": "admin",
"password": "admin1234",
"device_type": "cisco_ios"
}
print("Connecting to {}...".format(device_info["host"])) # print ra dong Connecting to + IP được định nghĩa ở trong dictionnary
net_connect = netmiko.ConnectHandler(**device_info) # Dùng hàm ConnectHandler trong thư viện netmiko để kế nối đến thiết bị
print("Connected successfully") # in ra dòng kết nối thành công
net_connect.enable() # vào mode enable
#net_connect.config_mode() # vào mode config terminal
while True:
hostname = net_connect.find_prompt() # Trả về dấu nhắc hiện tại
command = input(hostname) # in ra những gì trước dấu nhắc (trường hợp này là hostname)
if command != "exit" and command != "quit": # nếu không không phải là exit hay quit thì thực hiện lệnh show
output = net_connect.send_command(command) # thực hiện lệnh show vừa gõ
print(output) # in qa kết quả thực hiện lênh show
else:
break # kết thúc vòng lặp while (khi chúng ta gõ exit hay quit)
net_connect.disconnect()
P/s: copy nội dung trên lưu thành file Demo.py lưu vào C:\Python\Demo.py
3. Kiểm tra kết nối và thực hiện lệnh show
- Thực hiện ở Command Prompt
c:\Python>python Demo.pyConnecting to 192.168.0.1...Connected successfullyR_1#
- Tiếp tục thực hiện lênh show ip int bri
R_1#show ip int briInterface IP-Address OK? Method Status ProtocolEthernet0/0 192.168.0.1 YES NVRAM up upEthernet0/1 unassigned YES NVRAM administratively down downEthernet0/2 unassigned YES NVRAM administratively down downEthernet0/3 unassigned YES NVRAM administratively down downR_1#
- Hoặc thực hiện bất cứ lệnh show nào bạn thích
Nói chung các bạn có thể dùng netmiko thay thế cho các công cụ remote khác nếu bạn thích.
- Chụp hình kết quả thực hiện
Xong!
No comments:
Post a Comment