[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Multiple calls to channel_request_exec()


I'm looking at libssh to enable the replacement of an existing
application that uses raw sockets to control a telnet session. In future
the connection must be done using ssh.

I tried modifying examples/exec.c and duplicated the block of code that
calls channel_request_exec() to execute "ps aux" and to read the output.
I simply added a call to channel_request_exec() to execute "ls -l", but
I received an error: "Channel exec request failed".

Should I be able to with libssh, execute a shell command on the remote
host, read its output and execute another shell command and read its
output?

>From my reading of the documentation it appears that each call to
channel_request_exec() spawns another shell on the remote server, so if
I wanted to execute the following on the remote server:
"cd tmp"
"./run_my_command"
then the second command would not be executed in the "tmp" directory.

Does libssh then need a "changedirectory" function similar to the one
that sets environment variables?

Thanks in advance for your responses.

-- 

* Mark Hessling, mark@xxxxxxxx http://www.rexx.org/ 
* Author of THE, a Free XEDIT/KEDIT editor, Rexx/SQL, Rexx/CURL,  etc. 
* Maintainer of Regina Rexx interpreter and Rexx/Tk 
* Use Rexx? join the Rexx Language Association: http://www.rexxla.org/ 


Follow-Ups:
Re: Multiple calls to channel_request_exec()Stephan Kountso <steplg@xxxxxxxxx>
Re: Multiple calls to channel_request_exec()Aris Adamantiadis <aris@xxxxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org