2017-12-08 26 views
-1

私は設定を複数のジュニパーデバイスにプッシュしようとしています。しかし、テストとして私は設定モードに入り、設定を変更します。python(paramiko)でJuniperスイッチを設定する

client1 = paramiko.SSHClient() 

client1.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 

client1.connect(IP, username=username, password=password) 

configure = client1.invoke_shell() 

configure.send('configure') 

configure.send('set interfaces ge-0/0/10 description "test"') 

configure.send('show | compare') 

print configure.recv(1000) 

client1.close() 

私は以下のように出力を期待しています:

[edit interfaces ge-0/0/10] 
- description "Internet Simulation Interface connect to QFX ge-0/0/21"; 
+ description test; 

しかし、実際の出力はこれです:

JUNOS 12.3X50-D35 built 2013-10-22 07:02:18 UTC


+0

上記のクエリの答えは、paramiko_expectから "SSHClientInteraction"をインポートします。しかし、今問題は設定モードに入ることができますが、それ以上のコマンドを送ることができません –

+0

これは新しいコードです ****************** クライアント1 = paramiko .SSHClient() client1.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client1.connect(IP、ユーザ名=ユーザ名、パスワード=パスワード) 相互作用= SSHClientInteraction(CLIENT1、タイムアウト= 10、表示=真) #のinteract.expect ( 'sivabalask @ in.ibm.com @ usrdrsf072ccpf0>') interact.send( 'のconfigure') interact.expect( interact.send( 'ショー|比較') cmd_output = interact.current_output_clean CLIENT1 cmd_output印刷.clos e() ************* 欠けているものがあります。 –

答えて

0
print configure.recv(1000) 

試してみてください:

print configure.recv(4096) 

が私を知ってみましょうあなたがJuniper CLIの最初の行を取得している、で高い受信バイトをコーディングしてみてください。

+0

まあ、最大受信数を試しました。65535まだ運がありません。 –

-1

junosデバイス用のjuniperのライブラリであるJunos Ezncを使用することをお勧めします。 Junos-Eznc GitHub

+0

Junos pyezを使用するには、すべてのジュニパーデバイスでnetconfを有効にする必要があります。 –

関連する問題