添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
ssh=paramiko.SSHClient() \\创建SSH对象 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) \\允许连接不在know_hosts文件中的主机 ssh.connect(hostname=ip,port=22,username=username,password=password) \\SSH方式连接交换机 print("成功连接",ip) command=ssh.invoke_shell() \\调用交换机命令行 command.send("sys\n") command.send("sysname HW_Switch\n") command.send("interface loopback 0\n") command.send("ip address 192.168.0.124\n") command.send("return\n") command.send("save\n") command.send("y\n") \\发送配置命令 time.sleep(3) output=command.recv(65535) print(output) \\设置等待时间并打印回显内容 ssh.close() \\关闭连接 本例中通过SSH方式成功连接交换机后,我们需要调用paramiko.SSHClient()下面的invoke.shell()来唤醒shell,也就是华为交换机的VRP命令行,并将它赋值给变量command,之后调用invoke.shell()下面的command()函数,向交换机发送配置命令。 Python是一次性执行脚本命令的,中间没有时间间隔,这样就会导致某些命令遗漏和回显内容不完整的问题。我们在使用recv()函数将回显结果保存之前,需要调用time模块下的sleep()函数手动让Python停止3秒钟,这样回显内容才能被完整地打印出来。这里的command.recv(65535)中的65535代表截取65535个字符的回显内容。对交换机配置完毕后,使用close()方法退出SSH连接。