python - paramiko recv() 返回多个命令回显
问题描述
我正在尝试与 WIN10 机器(安装了 OpenSSH)交谈。在大多数情况下,它可以工作,但是当我发送命令(通过发送)并使用读取通道(通过 recv)时,我返回的数据对我发送的命令有一些奇怪的回声。似乎通道具有完整的命令,然后它逐字节地进入服务器。所有这些阶段都记录在recv中。下面是一个示例代码
PS:如果我与 Linux 机器交谈,则看不到问题
isession = paramiko.SSHClient()
isession.set_missing_host_key_policy(paramiko.AutoAddPolicy())
isession.connect(ip, username=user, password=pwd)
ishell = isession.invoke_shell()
ishell.send("set prompt=ICUSTOMPROMP$G" + "\n")
aa = ishell.recv(65535).encode("utf-8")
strip_ansi = re.compile(r'\x1B[@-_][0-?]*[ -/]*[@-~]')
bb = strip_ansi.sub('', aa)
OP(即 bb)是
Microsoft Windows [Version 10.0.17134.858]
\n(c) 2018 Microsoft Corporation. All rights reserved.
\n\nuser@YYYY C:\\Users\\XXX>
set prompt=ICUSTOMPROMP$G et
prompt=ICUSTOMPROMP$G t prompt=ICUSTOMPROMP$G
prompt=ICUSTOMPROMP$G prompt=ICUSTOMPROMP$G
rompt=ICUSTOMPROMP$G ompt=ICUSTOMPROMP$G
mpt=ICUSTOMPROMP$G pt=ICUSTOMPROMP$G
t=ICUSTOMPROMP$G =ICUSTOMPROMP$G
ICUSTOMPROMP$G CUSTOMPROMP$G
USTOMPROMP$G STOMPROMP$G
TOMPROMP$G OMPROMP$G
MPROMP$G PROMP$G
ROMP$G OMP$G MP$G
P$G $G G
\n\nICUSTOMPROMP>
预期的操作应该是我的命令应该只打印一次。
我能做些什么来解决这个问题吗?或者这是win10 open ssh的一些问题?有没有人尝试通过 paramiko 向 WIN10 发送命令
解决方案
推荐阅读
- javascript - 如何通过数字海洋空间中的请求s3删除文件夹或文件
- php - 检查结果数组中的任何值是否与使用 codeigniter 的现有数组的值相似
- android - 从对象 ArrayList 中获取项目
- angular - 如何在 Angular 中创建管道?
- android - 从 uri Android API < 19 获取位图
- java - Jackson - 将内部对象列表反序列化为更高级别的列表
- android - 如何更改工具栏中的菜单项背景颜色?-安卓-
- android - 使用 AutoSizing 膨胀类 TextView 时出错
- artifactory - Artifactory 无法使用本地帐户登录
- autoit - 如何从 cookie 中获取月份的日期?