Strange behaviour surrounding "ssh -T ..." and non-zero exit
W. Michael Petullo
mike at flyn.org
Fri Nov 9 10:57:18 AWST 2018
I am using Dropbear v2017.75 as found on OpenWrt.
I am building a system around a special shell which exits with the value
of `1' upon encountering certain errors. Let us assume this shell runs
on the host "h." My aim is that the following will print `1' if such an
error occurs (using Dropbear's ssh to Dropbear's sshd):
echo input | ssh -T h; echo $?
Despite the error occurring, the above command line prints `0' rather
than `1.' Since this triggers the error, I would expect the latter
instead.
When I run this (using Dropbear's ssh to Dropbear's sshd):
ssh -T h; echo $?
and manually provide the input by typing "input," the result is `1'
as expected.
Something from using "-T" and also taking input from a pipe seems to
cause ssh or sshd to malfunction in the earlier case.
When I repeat these commands using OpenSSH's ssh to connect to Dropbear's
sshd, the output is `1' in both cases. This is the expected behavior.
Does anyone have an idea of what might be causing this? Is there indeed
a bug related to "-T" plus stdin from a pipe?
--
Mike
:wq
More information about the Dropbear
mailing list