0

paramiko を使用して、スイッチへの ssh セッションを開くことができます。コマンドを入力して、それぞれの出力を取得できます。私の質問は、スイッチに同時に多くのコマンドを入力したいということです。しかし、新しいコマンドを入力する前に、前のコマンドがスイッチに正常に入力されているかどうかを知りたい.たとえば

switch>enable switch# switch#config t switch(config) # 記号が表示されるまで 2 番目のコマンドを入力し、config が表示されるまで 3 番目のコマンドを入力します。以下は私が使用しているコードです

import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('ip-address',username='username', password='password')
list =['enable','config t']
command = '\n'.join(list)
#for i in range(len(list)):
print command
stdin,stdout,stderr = ssh.exec_command(command)
print(stdout.read())
4

1 に答える 1

0

インタラクティブな呼び出しシェルを使用する

##invoke interactive shell chan = ssh.invoke_shell(); chan.send(command + '\n') ;
while not chan.recv_ready(): print 'waiting for challenge' time.sleep(1) ;       
resp = chan.recv(1024)  ;  print resp
于 2013-04-25T05:32:38.280 に答える