如何使用 Paramiko 从 SSH 输出中删除垃圾值?

Linda Hamilton
发布: 2024-10-19 07:13:30
原创
876 人浏览过

How to Remove Junk Values from SSH Output Using Paramiko?

使用 Paramiko 消除 SSH 输出中的垃圾值

当使用 Python 的 Paramiko 库通过 SSH 连接到远程计算机并检索命令行输出时,您可能会在响应中遇到意外的“垃圾”字符,例如 [2Jx1b[1;1H 和 u.这是由于使用了 ANSI 转义码,其目的是增强交互式终端中输出的显示。

使用正确的执行方法

Paramiko 的 SSHClient .invoke_shell 自动请求伪终端,这可能导致包含这些转义码。对于自动命令执行,最好使用 SSHClient.exec_command,它默认不分配伪终端。

交互式会话的解决方法

作为交互式会话中,您可以使用 Python 库删除 ANSI 转义序列。然而,这是一种黑客行为,可能无法完全解决与使用交互式终端相关的其他问题。

手动创建 Shell 通道

如果您需要使用 shell由于特定服务器要求,您可以手动创建通道,而不使用invoke_shell。这使您可以避免分配伪终端。

Unicode 编码

最后,输出中的 u 前缀表示该字符串采用 Unicode 编码。这对于正确处理字符串中的字符非常重要。

以上是如何使用 Paramiko 从 SSH 输出中删除垃圾值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!