ShellInABox is a tidy little app that works well, but when you configure it to connect via SSH directly instead of using its internal shell, it throws up a couple minor errors when logging in:
command-line line 0: unsupported option "rhostsrsaauthentication"
command-line line 0: unsupported option "rsaauthentication"
You can safely ignore these two notices, but if you want to remove them, here's how to do it:
Stop the currently running service.
sudo service shellinabox stop
Install git, nano, and some tools needed during compiling code:
sudo apt install git nano autoconf dh-autoreconf libssl-dev
Pull the current shellinabox code down from the github repository:
git clone https://github.com/shellinabox/shellinabox.git
Change directory into the folder you just created:
cd shellinabox
Open the service.c file for editing with nano:
sudo nano shellinabox/service.c
Scroll down or use CTRL-W to find and comment these two lines by placing // in front of the lines:
"-oPubkeyAuthentication=no -oRhostsRSAAuthentication=no "
"-oRSAAuthentication=no -oStrictHostKeyChecking=no -oTunnel=no "
Replace those two lines with this single line, placing it immediately below:
"-oPubkeyAuthentication=no -oStrictHostKeyChecking=no -oTunnel=no "
It will look like this in the file; you can see we've removed the two items which throw the errors:
//"-oPubkeyAuthentication=no -oRhostsRSAAuthentication=no "
//"-oRSAAuthentication=no -oStrictHostKeyChecking=no -oTunnel=no "
"-oPubkeyAuthentication=no -oStrictHostKeyChecking=no -oTunnel=no "
Ctrl-X to exit, save the file. Then configure and compile the code with these 3 commands:
autoreconf -i
./configure --disable-runtime-loading
make
(You can research issues with disable-runtime-loading if you want to use runtime loading.)
Overwrite the existing shellinaboxd binary file with the one you just created:
sudo cp shellinaboxd /usr/bin
Start the service:
sudo service shellinabox start
Now when you log in via SSH you'll see no errors.