This is the mail archive of the
mailing list for the Cygwin project.
Re: how to make sshd start a shell other than bash when I log in?
- From: Andrew Schulman <schulman dot andrew at epa dot gov>
- To: cygwin at cygwin dot com
- Date: Sat, 15 Apr 2017 06:59:26 -0400
- Subject: Re: how to make sshd start a shell other than bash when I log in?
- Authentication-results: sourceware.org; auth=none
- References: <email@example.com> <firstname.lastname@example.org>
> * 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
https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch. 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: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple