0

阅读了相关文档教程并发现了类似的问题,我仍然无法继续。如果这是一个常见问题,我提前道歉。我进行了搜索,但我不确定我在寻找什么......

我正在 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 以表明命令已成功发送。正如我从一个类似的问题中了解到的那样,这是因为返回会监听命令的成功“发送”。return 不监听,看是否执行成功。

我的问题是,我该如何:

  • 执行命令(上面的函数目前不执行它只是发送命令)
  • 听听它的执行
  • 打印返回的输出?

我知道 ssh_channel_read() 函数,但由于命令从不执行,我通常会得到输出

 Read (256) buffered : 0 bytes. Window: 64000
4

1 回答 1

0

看看 libssh 源代码中的 examples/exec.c 吧!

于 2013-07-31T08:32:58.117 回答