Python之paramiko模块学习问题

sangyuping 2016-08-16 03:42:31
def Check_Version(ip,ssh_name,ssh_password,type):
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(ip,22,ssh_name,ssh_password)
stdin,stdout,stderr = client.exec_command("sh")
stdin,stdout,stderr = client.exec_command("su")
stdin,stdout.stderr = client.exec_command("supassword")
for std in stdout.readlines():
print std
client.close()


最近在学习python的paramiko模块额学习,但是在这个学习过程中,还是感觉很肤浅,遇到问题还是无法解决,麻烦各位帮忙参考下
首先,我想实现的功能就是登陆到某个设备中,去检查下版本信息,具体操作如下:

1.通过connect连接到设备中
2.连上设备后,需要切换到root账户进行操作,所以,我接下来就执行了sh su以及输入su的密码的操作,但是发现,失败了,失败的原因如下:
ValueError: too many values to unpack

所以,我想问的是,如果想用paramiko模块去实现在一个管道内执行多个命令,应该如何实现呢?就相当于我登陆设备,执行了sh 等待一会,继续执行切换账号(需要输入密码),然后切换到root后,再执行某个操作,最终才需要使用打印出最后切换到root后的某个操作的结果
...全文
354 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
sangyuping 2016-08-19
  • 打赏
  • 举报
回复
这个问题已经解决了,最终是通过channel = client.invoke_shell()方式去实现了和设备之间的通信交互的

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧