Проблема при использовании Netsieben SSH с командой System (scp) - PullRequest
1 голос
/ 11 июля 2011

Я сталкиваюсь с какой-то уникальной проблемой, не знаю, как ее решить.Я использую библиотеку Netsiebin SSH C ++ для соединения с моим сервером.Работает на отлично.Я подключился к удаленному хосту по протоколу SSH2, с аутентификацией с помощью publickey, отправил команду come для выполнения и на сервере.

Но проблема возникает, когда я начал использовать систему SCP или rsync (scp или rsync) между ними.Мне необходимо загрузить некоторые файлы на сервер между ними, а затем снова запустить функцию Netseiben SSH, чтобы запустить этот командный файл на сервере. Но этого не происходит. Всякий раз, когда я использую какую-либо команду scp или rsync, а затем выполняю какую-то функцию netseiben, она продолжает ждатьи никогда не возвращается.

Пример реализации:

  1. Инициализация Netseiben

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)

Если у меня нет вышеуказанной «системной» функции для выполнения какой-либо команды, она работает нормально.

Это как-то связано с номером порта.Потому что во время установления соединения я даю номер порта 22, и если я не ошибаюсь, через порт происходит scp, который может вызвать проблемы.хотя не уверен.Занимался этим днем.Спасибо за вашу помощь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...