pythonでparamikoモジュールを使用して、スイッチの1つからバナーを読み取ろうとしています。これは私が、私は任意の出力を取得していないが、私は、スクリプトの最後の行をコメントするとき、私は、実行時にシェルb.recv(1000)
の最後のコマンドが実際に与えているの上に実行すると私は同じParamiko recv()は対話モードで動作しますが、スクリプト内では機能しません。
import socket
import sys
import paramiko
import subprocess
a=paramiko.SSHClient()
a.set_missing_host_key_policy(paramiko.AutoAddPolicy())
a.connect('10.22.158.19',username='admin',password='airwave')
b=a.invoke_shell()
b.recv_ready()
b.recv(1000)
のために使用していたコードです出力
>>>
>>> b.recv(1000)
'Last login: Tue Aug 22 23:10:25 2017 from 10.20.14.150\r\r\n(AirwaveMM-19) [mynode] #'
>>>
ここで何が間違っていますか?
ターゲットデバイスとparamikoのバージョンに関する詳細はありますか?あなたは、いくつかのデバイスがSSHプロトコルの一部(したがって 'invoke_shell()')を実装しているのを見ています。また、paramiko 2.Xは異なる暗号化モジュールを使用します。最後に、デバッグレベルで 'logging 'をインポートして有効にして完全な出力をポストできるならば、非常に便利です。 – urban