使用Netsieben SSH和System(scp)命令时出现问题

时间:2011-07-11 07:26:32

标签: c++ ssh openssh

我面临一些独特的问题,不知道如何解决它。我正在使用Netsiebin SSH C ++库来连接我的服务器。它运作得非常好。我使用SSH2协议连接到远程主机,使用publickey身份验证,也发送命令在服务器上执行。

但问题来自于我开始使用SCP或rsync“系统(scp或rsync)之间。我需要将一些文件上传到服务器之间,然后再次运行Netseiben SSH功能以在服务器上运行该命令文件但是这永远不会发生。每当我使用一些scp或rsync命令然后执行一些netseiben函数时,它会一直等待并且永远不会返回。

实施示例:

  1. 初始化Netseiben
  2. Ne7SftpSubsystem _sftp;    ne7ssh * _ssh = new ne7ssh();

    2.使用密钥连接

    channel1 = _ssh->connectWithKey ("serverAddress", 22, "userame", "pub key path");
    

    3。发送命令和读取结果

           _ssh->send ("ls\n", channel1))
           _ssh->waitFor (channel1, "$", 5)
           result = _ssh->read (channel1); //read result
    
    1. 将一些文件放入服务器的系统功能(我认为这是所有原因)

      system(“rsync / home / user / Makefile user @ server:〜”); system(“scp /home/user/file.tgz user @ server:〜/ new”); //执行

    2. 将命令发送到服务器(此处失败...此语句永远不会执行)

      ssh-> send(“mkdir Tester \ n”,channel1)

    3. 如果我没有上述“系统”功能来执行某些命令,它可以正常工作。

      是否与端口号有关。因为在建立连接时我给端口号22 如果我没有错误scp通过端口发生可能导致问题的相同端口。但是肯定的 。已经设置了这一天。谢谢你的帮助 。

0 个答案:

没有答案