ssh(1) is inaccurate

David Rabel rabel at
Thu Dec 7 01:13:55 AEDT 2017

Hi Stephen,

thanks for that answer.

On 12/06/2017 02:58 PM, Stephen Harris wrote:
>> "If command is specified, it is executed on the remote host instead of a
>> login shell."
>> But afaik this is not quite accurate. The login shell is always started.
>> But if a command is specified it runs that command instead of just
>> opening an interactive setting.
> Not quite.  A "login shell" is a specific term in Unix.  If means (roughly)
> the shell the user has defined (eg in /etc/passwd) but run in a specific
> way.

The term "login shell" also refers to the shell defined in /etc/passwd
in general. For example chsh(1) says "chsh - change your login shell".
So in this way it's the shell that the user uses to login, not a shell
run in a specific way.

I know that the second meaning is also valid and may be more common.

But not to be explicit here is confusing. From the man page it is not
clear if a shell is executed at all.

>> So if a user has /dev/false as login shell, you cannot run a command on
> So here is where your confusion over terminology led you wrong.  The
> password file defines the shell to be used.  How the shell is called
> determines if it is being used a login shell or not.

Well, it's not actually my confusion over terminology. The terminology
itself is ambiguous. We should consider this in the man page.


David Rabel
Linux Consultant & Trainer
Tel.: +49-1511-5908566
Mail: rabel at

B1 Systems GmbH
Osterfeldstraße 7 / 85088 Vohburg /
GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the openssh-unix-dev mailing list