ssh(1) is inaccurate
rabel at b1-systems.de
Thu Dec 7 01:13:55 AEDT 2017
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
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.
Linux Consultant & Trainer
Mail: rabel at b1-systems.de
B1 Systems GmbH
Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de
GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 833 bytes
Desc: OpenPGP digital signature
More information about the openssh-unix-dev