I am using OpenBSD-current. After doas pkg_add fish
, I ran chsh -s $(which fish)
to change the default shell of my user qys
to fish
, and it works:
$ /usr/bin/ssh magicbane
Last login: Wed Aug 21 11:17:12 on ttyp0 from 100.94.151.103
OpenBSD 7.6-beta (GENERIC.MP) #270: Tue Aug 20 10:51:30 MDT 2024
Welcome to OpenBSD: The proactively secure Unix-like operating system.
Please use the sendbug(1) utility to report bugs in the system.
Before reporting a bug, please try to reproduce it with the latest
version of the code. With bug reports, please try to ensure that
enough information to reproduce the problem is enclosed, and if a
known fix for it exists, include that as well.
You have new mail.
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
qys@magicbane ~> echo $SHELL
/usr/local/bin/fish
However,
$ /usr/bin/ssh magicbane 'echo $SHELL'
/bin/sh
I wonder why this didn't give me /usr/local/bin/fish
? This is not a problem itself, but I suspect it has something to do with this issue that I'm trying to solve.
ssh -O exit magicbane
to close the master connection.SHELL
meant to point to a POSIX-/Bourne-compatible shell (which fish isn’t)?ssh magicbane getent passwd qys
output?SHELL
is set to the user's login shell by the login process (from the passwd database). Whether this is a POSIX shell or Python does not matter./usr/bin/ssh -O exit magicbane
gives meNo ControlPath specified for "-O" command
and exit code 255.