Shell In A Box - Accéder au terminal SSH Linux via un navigateur Web
Shell In A Box (prononcé shellinabox) est un émulateur de terminal basé sur le Web créé par Markus Gutschke. Il dispose d’un serveur Web intégré qui s’exécute en tant que client SSH basé sur le Web sur un port spécifié et vous invite à accéder à un émulateur de terminal Web pour accéder et contrôler votre shell SSH de serveur Linux à distance à l’aide de n’importe quel navigateur compatible AJAX/JavaScript et CSS sans avoir besoin de plug-ins de navigateur supplémentaires tels que FireSSH.
Dans ce tutoriel, je décris comment installer Shellinabox et accéder à un terminal SSH distant à l’aide d’un navigateur web moderne sur n’importe quelle machine. L’accès SSH basé sur le Web aux serveurs Linux est très utile lorsque vous êtes protégé par un pare-feu et que seul le trafic HTTPS peut passer.
Installation de Shellinabox sur les systèmes Linux
Par défaut, l’outil Shellinabox est inclus sur les distributions Linux basées sur Debian via les dépôts par défaut utilisant le gestionnaire de paquets par défaut, comme indiqué.
Installer Shellinabox sur Debian, Ubuntu et Mint
$ sudo apt install openssl shellinabox
Installer Shellinabox sur RHEL, Fedora, Rocky et AlamLinux
Sur les distributions basées sur Red Hat, vous devez l’installer à partir de la source à l’aide des commandes suivantes.
# yum install git openssl-devel pam-devel zlib-devel autoconf automake libtool
git clone https://github.com/shellinabox/shellinabox.git && cd shellinabox
autoreconf -i
./configure && make
Configuration de Shellinabox dans les systèmes Linux
Par défaut, shellinaboxd écoute sur le port TCP 4200 sur localhost. Pour des raisons de sécurité, je change ce port par défaut en un aléatoire (c’est-à-dire 6175) pour rendre difficile l’accès de quiconque à votre boîte SSH.
De plus, lors de l’installation, un nouveau certificat SSL auto-signé est automatiquement créé sous « /var/lib/shellinabox » pour utiliser le protocole HTTPS.
$ sudo vi /etc/default/shellinabox
OR
sudo nano /etc/default/shellinabox
Effectuez les modifications de configuration comme indiqué ci-dessous...
# Should shellinaboxd start automatically
SHELLINABOX_DAEMON_START=1
TCP port that shellinboxd's webserver listens on
SHELLINABOX_PORT=6175
Parameters that are managed by the system and usually should not need
changing:
SHELLINABOX_DATADIR=/var/lib/shellinabox
SHELLINABOX_USER=shellinabox
SHELLINABOX_GROUP=shellinabox
Any optional arguments (e.g. extra service definitions). Make sure
that that argument is quoted.
#
Beeps are disabled because of reports of the VLC plugin crashing
Firefox on Linux/x86_64.
SHELLINABOX_ARGS="--no-beep"
specify the IP address of an SSH server
OPTS="-s /:SSH:192.168.0.140"
if you want to restrict access to shellinaboxd from localhost only
OPTS="-s /:SSH:192.168.0.140 --localhost-only"
Une fois la configuration terminée, vous pouvez redémarrer et vérifier le service shellinabox en exécutant les commandes suivantes.
$ sudo systemctl restart shellinabox
sudo systemctl status shellinabox
Vérifions maintenant si Shellinabox s’exécute sur le port 6175 à l’aide de la commande netstat.
$ sudo netstat -nap | grep shellinabox
Assurez-vous de sécuriser votre shellinabox sur le pare-feu et d’ouvrir le port 6175 pour une adresse IP spécifique afin d’accéder à votre shell Linux à distance.
------- On Debian, Ubuntu and Mint -------
sudo ufw allow 6175/tcp
sudo ufw allow from 192.168.0.103 to any port 6175
------- On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux -------
sudo firewall-cmd --zone=public --add-port=6175/tcp
sudo firewall-cmd --zone=public --add-source=192.168.0.103/6175 --permanent
Accéder au terminal SSH Linux via des navigateurs Web
Ouvrez maintenant votre navigateur Web et accédez à https://Your-IP-Adress:6175. Vous devriez être en mesure de voir un terminal SSH basé sur le Web. Connectez-vous à l’aide de votre nom d’utilisateur et de votre mot de passe et votre invite devrait s’afficher.
Vous pouvez cliquer avec le bouton droit de la souris pour utiliser plusieurs fonctionnalités et actions, y compris la modification de l’apparence de votre shell.
Pour plus d’informations, visitez la page officielle github de Shellinabox.





