Timing out a channel exec request

Damien Miller djm at mindrot.org
Fri Feb 7 09:12:23 EST 2014


On Thu, 6 Feb 2014, Tim Broberg wrote:

> Is anyone aware of a method to force termination of a single channel
> without waiting for the associated process to complete?

I think SSH2_MSG_CHANNEL_EOF then SSH2_MSG_CHANNEL_CLOSE might do what
you want.

> - SSH2_MSG_CHANNEL_CLOSE results in a long polling loop where sshd keeps
> trying to garbage collect the channel, but can't because the process is
> still alive. Furthermore, this appears to be stalling the other commands
> as well. (More experimentation is needed on this point.)

The server shouldn't hang while processing a close. 

>  - I could try a SSH_MSG_CHANNEL_REQUEST "signal" and send SIGINT,
> SIGTERM, SIGABRT, etc, but I don't see a handler for "signal" in the
> server loop.

No we don't support sending signals. There are patches on
https://bugzilla.mindrot.org/show_bug.cgi?id=1424 but we're worried
about possible problems of sshd signalling processes it shouldn't.

-d



More information about the openssh-unix-dev mailing list