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

Andrew Schulman
Sat Apr 15 15:51:00 GMT 2017

> * Andrew Schulman (Thu, 06 Apr 2017 21:22:38 -0400)
> > 
> > My regular shell is fish. To make local terminals run fish instead of bash when
> > I start them, I set
> > 
> > SHELL=/usr/bin/fish
> > 
> > in my desktop environment. This works fine: I start MinTTY, and fish starts.
> > 
> > But when I log into that same host by sshd, bash starts, not fish (since sshd
> > doesn't have access to my desktop environment variables). How can I configure
> > either my ssh client or the ssh server to start fish instead of bash?
> I use db_shell in /etc/nsswitch.conf.

Hm. So this is documented in "The db_shell setting" at AFAICT, the
only useful option there for my purposes is to set

db_shell = /bin/fish

After restarting sshd, this does make fish my login shell. Of course, it makes
fish the login shell for every other user on the host too, but for single-user
hosts such as mine, that works fine. Thanks.


Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list