使用libssh在远程Windows机器上执行命令

时间:2017-07-13 19:56:07

标签: ssh libssh remotecommand

我尝试使用libssh在远程linux主机上执行shell命令,但它确实有效。我按照tutorial的例子。但是当在Windows远程主机上尝试时,它不起作用(我当然改变了命令)。所以我的问题是:是否可以在Windows主机上执行远程命令?

编辑:

int show_remote_files(ssh_session session){
ssh_channel channel;
int rc;
channel = ssh_channel_new(session);
if (channel == NULL) return SSH_ERROR;
rc = ssh_channel_open_session(channel);
if (rc != SSH_OK)
 {
  ssh_channel_free(channel);
  return rc;
 }
rc = ssh_channel_request_exec(channel, "dir");
if (rc != SSH_OK)
 {
ssh_channel_close(channel);
ssh_channel_free(channel);
return rc;
 }
char buffer[256];
int nbytes;
nbytes = ssh_channel_read(channel, buffer, sizeof(buffer), 0);
while (nbytes > 0)
{
  if (fwrite(buffer, 1, nbytes, stdout) != nbytes)
  {
    ssh_channel_close(channel);
    ssh_channel_free(channel);
    return SSH_ERROR;
  }
  nbytes = ssh_channel_read(channel, buffer, sizeof(buffer), 0);
}
if (nbytes < 0)
{
  ssh_channel_close(channel);
  ssh_channel_free(channel);
  return SSH_ERROR;
}

由于它不起作用我的意思是我没有得到服务器的回复。

0 个答案:

没有答案