簡體   English   中英

Python-Paramiko:使用 SSH 連接到服務器,未從“ls”命令獲取 output

[英]Python-Paramiko: Connected to server with SSH, not getting output from 'ls' command

我使用 Paramiko 制作了一個客戶端服務器程序。 我設法建立連接並發送命令。 例如,如果我發送一個“ifconfig”命令,它確實會返回所需的 output。 然而,當我嘗試發送“ls”命令時,它什么也沒有返回。 我需要服務器讓我使用更復雜的命令,比如打開文件、編輯 wordpress 等等。

這會發送 sshCommand:

def sshCommand(command, port=22):
    sshClient = paramiko.SSHClient()  # create SSHClient instance

    sshClient.set_missing_host_key_policy(
        paramiko.AutoAddPolicy())  # AutoAddPolicy automatically adding the hostname and new host key
    sshClient.load_system_host_keys()
    sshClient.connect(host, port, username, password)
    stdin, stdout, stderr = sshClient.exec_command(command)
    print(stdout.read())

當我發送 -

sshCommand('ifconfig')

一切正常。 但是,發送 -

sshCommand('ls')

可能是由於某種原因我沒有訪問文件的權限嗎? 我也有用於連接的root密碼。

任何幫助,將不勝感激。

如果您想調試命令為什么不起作用,請閱讀stderr

請參閱使用 Paramiko 執行的命令不會產生任何 output


盡管如果您要操作文件,請不要使用 shell 命令。 使用 SFTP。

請參閱Python 中的如何通過 SFTP 連接后列出目錄中的所有文件夾和文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM