[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Request a PTY when running a command
[Thread Prev] | [Thread Next]
- Subject: Re: Request a PTY when running a command
- From: Andreas Schneider <asn@xxxxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Tue, 13 Aug 2013 08:33:22 +0200
- To: libssh@xxxxxxxxxx
- Cc: William Orr <will@xxxxxxxxxxxx>
On Monday 12 August 2013 18:47:55 William Orr wrote: > On Aug 10, 2013, at 11:59 PM, William Orr <will@xxxxxxxxxxxx> wrote: > > On Aug 4, 2013, at 2:20 AM, Andreas Schneider <asn@xxxxxxxxxxxxxx> wrote: > >> On Tuesday 30 July 2013 09:14:59 William Orr wrote: > >>> Hi all, > >>> > >>> I'm trying to execute a command with sudo. sudo requires that I provide > >>> it > >>> with an ask pass program or have a PTY. Currently I have code that > >>> exec's > >>> a program on the remote end (called wshd, wshd exec's sudo), and then > >>> requests a PTY. This code returns an error reading "Channel request > >>> pty-req > >>> failed." If I request a PTY prior to exec'ing a command, wshd never gets > >>> exec'd. > >>> > >>> What I'm trying to do here is similar to `ssh -t <hostname> sudo > >>> whoami`, > >>> which exec's sudo, but also forces allocation of a PTY. > >>> > >>> I'm using libssh 0.5.4 on RHEL 6.1. Let me know if you need more > >>> information. > >>> > >>> http://bpaste.net/show/118708/ > >> > >> Did you read our tutorial? > >> > >> http://api.libssh.org/master/libssh_tutor_shell.html > >> > >> > >> Cheers, > >> > >> -- andreas > > > > Thanks for the help. > > > > Now that I've converted my code, I'm having trouble sending more data over > > stdin. I can execute commands just fine. But the command I'm executing > > takes binary data from stdin. When I was executing it with > > wsh_channel_request_exec, I could send binary data to it's stdin just > > fine. Now that I'm requesting a shell and then executing it, it gets 0s > > for data. The data hasn't changed, nor does it seem to depend on the data > > I'm sending. I've ensured that I'm sending non-zero data. > > > > My code worked prior to switching to request_shell. > > I found the source of the problem: libssh is sending out an extra null byte > before writing my data to stdin. Is there any particular reason for that? > This did not happen with exec. The libssh code doesn't send an extra null byte. At least I don't see something in the code. Are you sure libssh is sending it? Are you sure the ssh server is not adding it? Can you see it on the wire (ssh_set_pcap_file)? -- andreas -- Andreas Schneider GPG-ID: F33E3FC6 www.cryptomilk.org asn@xxxxxxxxxxxxxx
Re: Request a PTY when running a command | William Orr <will@xxxxxxxxxxxx> |
Re: Request a PTY when running a command | William Orr <will@xxxxxxxxxxxx> |
Re: Request a PTY when running a command | William Orr <will@xxxxxxxxxxxx> |