一,单线程登陆设备 - shell交互
def chan_recv(chan): data = chan.recv(1024) # 刚登陆时,先输出一遍收到的数据 sys.stdout.write(data.decode()) # 输出 sys.stdout.flush() if __name__ == '__main__': ssh = paramiko.SSHClient() ssh.load_system_host_keys() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('10.10.10.2', port=22, username='cisco', password='cisco', timeout=3) # 3秒超时 channel = ssh.invoke_shell() chan_recv(channel) # 开始前先收一下数据 while True: # 监听输入 d = input() if d == 'quit': # 如果输入quit,就退出 break channel.send(d + '\n') chan_recv(channel) channel.close() ssh.close()