python ssh远程执行Linux命令行时,卡在stdout.readlines()不继续运行了
代码如下:
# -*- coding:utf-8 -*-
import paramiko
def run(HostIP, username, passwd):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(HostIP, 22, username, passwd)
cmd = ['enable', 'show interface']
for i in cmd:
print("111111111111111111")
stdin, stdout, stderr = ssh.exec_command(i, get_pty=True, timeout=180)
print('222222222222222222')
std = stdout.read() # 运行到这一行后卡死
print('333333333333333333')
print(std)
ssh.close()
if __name__ == '__main__':
HostIP = '192.168.10.116'
username = 'admin'
passwd = 'adc.admin'
run(HostIP, username, passwd)
打印结果如下:
111111111111111111
222222222222222222