0
在閱讀了相關的docs和tutorials並發現了similar問題後,我仍然無法繼續。如果這是一個常見問題,我可以提前給出提示。我做了搜索,但我並不確定我在找什麼...Libssh遠程命令不在服務器上執行
我正在Debian中試用C的Libssh。
rc = ssh_channel_request_exec(channel, "ls -l");
if (rc != SSH_OK) {
ssh_channel_close(channel);
ssh_channel_free(channel);
return rc;
}
這將返回SSH_OK以表明命令已成功發送。正如我從similar問題所理解的那樣,這是因爲返回偵聽命令的成功「發送」。退貨不會檢查它是否已成功執行。
我的問題是,我怎麼能:
- 執行命令(通過上述功能目前不執行它只是發送命令)
- 傾聽它的執行
- 打印返回的輸出?
我知道ssh_channel_read()函數,但由於命令不會被執行,我通常會輸出
Read (256) buffered : 0 bytes. Window: 64000
作爲另一個問題的答案,你是否從stderr中讀取,而不僅僅是stdout,以獲取任何潛在的錯誤? – nos