[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: William Orr <will@xxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Tue, 13 Aug 2013 09:46:40 -0700
- To: libssh@xxxxxxxxxx
On Aug 12, 2013, at 11:33 PM, Andreas Schneider <asn@xxxxxxxxxxxxxx> wrote: > 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 > > Hey Andreas, Thanks for mentioning the pcap API, that's really useful for debugging! You're right, I can't see that on the wire. Looks like the SSH server must be adding it. Thanks for the help!
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 | Andreas Schneider <asn@xxxxxxxxxxxxxx> |