how to make sshd start a shell other than bash when I log in?

Brian Inglis
Fri Apr 7 05:59:00 GMT 2017

On 2017-04-06 20:08, L A Walsh wrote:
> Andrew Schulman wrote:
>> But when I log into that same host by sshd, bash starts...
> Have you tried changing your shell
> (chsh if it is on your system, otherwise edit /etc/passwd
> and change the shell for your username).
> andrews:x:1001:545:A.S.:/home/andrews:/bin/fish
> You will need to make sure the shell is listed
> in the allowed shells file (/etc/shells).
> Not sure what would be best if you don't
> have a /etc/passwd... (I might add one, but
> someone else may know a better way).

Under ssh(1) ENVIRONMENT:
"Additionally, ssh reads ~/.ssh/environment, and adds lines of the
format “VARNAME=value” to the environment if the file exists and
users are allowed to change their environment. For more information,
see the PermitUserEnvironment option in sshd_config(5)."
which says:
Specifies whether ~/.ssh/environment and environment= options in
~/.ssh/authorized_keys are processed by sshd(8). The default is no."
Specifies that the string is to be added to the environment when
logging in using this key. Environment variables set this way
override other default environment values. Multiple options of this
type are permitted. Environment processing is disabled by default and
is controlled via the PermitUserEnvironment option."

Set /etc/sshd_config PermitUserEnvironment=yes then try adding in 
~/.ssh/authorized_keys on the same line before your remote host key:
followed by a space before the key type, or add to ~/.ssh/environment 
so it will apply to all remote host connections:
and ensure those files have only user rw permissions as usual with ssh.

Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list