[8.0p1] After the remote ssh command execution, the session does not terminate until an active disconnect

Jakub Jelen jjelen at redhat.com
Tue Aug 20 19:42:49 AEST 2019

On Tue, 2019-08-20 at 16:00 +0900, Hong Cho wrote:
> Thank you for the reply.
> I changed the remote command to a generic example because in our
> case, we
> are using an internal binary that I didn't want to make public. I
> thought
> it wouldn't matter, but apparently, it does. I am sorry I can't share
> more
> about this tool.
> BTW, our environment is based on FreeBSD, not on Linux. In our case,
> because "isatty" is set to 0, it never closes.

It never closes, because the `tail -f` never exists and never closes
the stdout and stderr that are connected to ssh channels.

Yes, this is a difference from the previous openssh versions, but I
think this is a correct behavior. Previously, the ssh ran the command
in background and closed its IO. If you wish to run something in the
background, there are other ways to achieve (nohup and IO redirect),
which will work just fine also with OpenSSH 8.0:

ssh user at example.com 'mohup tail -f /var/xxx > foo.out 2> foo.err <
/dev/null &'

Jakub Jelen
Senior Software Engineer
Security Technologies
Red Hat, Inc.

More information about the openssh-unix-dev mailing list