sshd как транспортный механизм - PullRequest
0 голосов
/ 29 декабря 2010

Я хочу выполнить некоторую команду на удаленной машине, я не должен устанавливать новый сервер. Но мне разрешено отправить один файл на удаленный компьютер.

Я пытаюсь использовать libssh2 для этого, но я не уверен, как я могу попросить sshd server выполнить команду от моего имени и перенаправить STDIN / STDOUT / STDERR в обоих направлениях.

Я посмотрел в этом примере,

http://www.libssh2.org/examples/ssh2.html

Но это эмуляция ssh-терминала.

У всех есть идеи, как этого добиться, используя libssh2.

Моя команда выполняется долго и принимает ввод из STDIN и вывод в STDOUT.

1 Ответ

0 голосов
/ 29 декабря 2010

Используйте системный вызов C () для перенаправления ваших потоков.В этом случае вы захотите перенаправить stdin из вашей программы в поток stdin вашего ssh-соединения и stdout из этого ssh-соединения в поток stdout вашей программы.Вот некоторые из 1337 ASCII-произведений, которые я сделал некоторое время назад, демонстрирующие связь между родительским и дочерним процессами, что может (или не может) помочь:

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