如何使用 Paramiko 從 SSH 輸出中刪除垃圾值?

Linda Hamilton
發布: 2024-10-19 07:13:30
原創
981 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板