Парамико не входит в режим настройки - PullRequest
0 голосов
/ 26 июня 2019

У моего маршрутизатора есть cli mode и configure mode, в cli mode можно использовать команду edit, введите configure mode.

Paramiko не входит в режим настройки.

import paramiko
import sys
import subprocess
#
# we instantiate a new object referencing paramiko's SSHClient class
#
vm = paramiko.SSHClient()
vm.set_missing_host_key_policy(paramiko.AutoAddPolicy())
vm.connect('13.193.240.45', username='root', password='my_pwd')
#
vmtransport = vm.get_transport()
dest_addr = ('13.57.109.2', 22) #edited#
local_addr = ('13.193.240.45', 22) #edited#
vmchannel = vmtransport.open_channel("direct-tcpip", dest_addr, local_addr)
#
jhost = paramiko.SSHClient()
jhost.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#jhost.load_host_keys('/home/osmanl/.ssh/known_hosts') #disabled#
jhost.connect('13.57.109.2', username='admin', password='pwd', sock=vmchannel)
#
stdin1, stdout1, stderr1 = jhost.exec_command('edit') # there should enter the configure mode.
print(stdout1.read())
print(stderr1.read())

stdin2, stdout2, stderr2 = jhost.exec_command("set interfaces ae16 unit 200 family inet address 1.1.1.14/29")  # this command is only can be execute in the configure mode, but in there will report error. there only can execute the `cli mode commands`
#print (stdin2, stdout2.read(), stderr2)
print(stdout2.read())
print(stderr2.read())

stdin, stdout, stderr = jhost.exec_command('commit')

#
#print (stdin, stdout.read(), stderr) 
#
jhost.close()
vm.close()

Почему paramiko не может войти в режим настройки моего маршрутизатора?

Моя модель маршрутизатора Juniper MX480.


Резюме:

Я хочу выполнить команду (edit) для входа в режим настройки, но, похоже, контекст paramiko этого не сделал (не вошел в режим настройки), поэтому я не могу выполнить команды режима настройки.

Я имею в виду: Маршрутизатор имеет режим cli, режим конфигурации, когда я выполняю редактирование, он должен войти в режим конфигурации, затем выполнить команды configuration mode, but I use paramiko execute the edit, все еще могут выполнять только команды режима cli.


EDIT-01

Режим Cli:

{master}                                                                        
JD@HK-MX-RE0> 

режим настройки:

{master}[edit]                                                                  
jd@HK-MX-RE0# 

Когда я выполняю edit или configure private, чтобы войти в режим настройки:

jd@HK-MX-RE0> configure private                                             
warning: uncommitted changes will be discarded on exit                          
Entering configuration mode                                                     

{master}[edit]                                                                  
jd@HK-MX-RE0#   
...