- Modifié
Shell in a box est un émulateur de terminal ssh basé sur une page web permettant d'accéder au serveur sur lequel il est installé ou bien un serveur distant.
Documentation Shell In A Box
Pour des questions, remarques, etc voir la discussion associée au tuto
Blague biensûr. Pour des raisons de sécurité, il vaut mieux changer le port par défaut et d'autres options de configuration sont possible.
Je vous suggère de changer le port qui est par défaut sur 4200, vous pouvez mettre le port que vous souhaitez tant qu'il est > 1000 et non utilisé par une autre application. Pour vérifier que le port que vous souhaitez utiliser n'est pas déjà pris, cette commande devrait suffir:
Si le résultat de la commande est vide, le port n'est pas utilisé, si ce n'est pas le cas, c'est que c'est déjà utilisé.
N'oubliez pas de relancer shellinabox après avoir changer le port:
Il est aussi possible de spécifier un hôte distant. Je n'ai pas réussit à le faire marcher donc je vous renvoie à la documentation si ça vous intéresse.
Autres possibilités
La doc est assez.. complète et les possibilités semblent variées. Je vous mets ce que j'avais trouvé un peu par hasard sur stackoverflow il y a quelques mois. Ca permet en gros de lancer htop dans une page web en utilisant shellinabox. C'est uniquement un exemple et une invitation à fouiller dans la doc et trouver d'autres possibilités sympathiques si vous le souhaitez.
Il faut d'abord stopper le service shellinabox
Ensuite vous vous rendez donc sur http://votredomaine:8333/htop_app et vous avez htop.
Attention si vous utilisez cette méthode, pour des raisons de sécurité, il faudrait bloquer l'accès sur le port par défaut et l'autoriser uniquement derrière un reverse proxy nginx avec une protection par mot de passe ou certificat.
Si vous trouvez d'autres utilisations intéressantes, n'hésitez pas à les poster dans la discussion associée à ce tuto et je serais ravi de les ajouter.
Documentation Shell In A Box
Pour des questions, remarques, etc voir la discussion associée au tuto
Installation
Ca devrait marcher sur debian, ubuntu et mint.
apt-get update && apt-get install openssl shellinabox
Voilà ça tourne, le tuto est finit. Shell in a box est accessible sur http://votredomaine:4200 ou http://ip:4200Blague biensûr. Pour des raisons de sécurité, il vaut mieux changer le port par défaut et d'autres options de configuration sont possible.
Configuration
C'est par ici:
nano /etc/default/shellinabox
PortJe vous suggère de changer le port qui est par défaut sur 4200, vous pouvez mettre le port que vous souhaitez tant qu'il est > 1000 et non utilisé par une autre application. Pour vérifier que le port que vous souhaitez utiliser n'est pas déjà pris, cette commande devrait suffir:
netstat -aulptn | grep votre_port
Si le résultat de la commande est vide, le port n'est pas utilisé, si ce n'est pas le cas, c'est que c'est déjà utilisé.
N'oubliez pas de relancer shellinabox après avoir changer le port:
service shellinabox restart
HoteIl est aussi possible de spécifier un hôte distant. Je n'ai pas réussit à le faire marcher donc je vous renvoie à la documentation si ça vous intéresse.
Autres possibilités
La doc est assez.. complète et les possibilités semblent variées. Je vous mets ce que j'avais trouvé un peu par hasard sur stackoverflow il y a quelques mois. Ca permet en gros de lancer htop dans une page web en utilisant shellinabox. C'est uniquement un exemple et une invitation à fouiller dans la doc et trouver d'autres possibilités sympathiques si vous le souhaitez.
Il faut d'abord stopper le service shellinabox
service shellinabox stop
Ensuite vous tapez dans un terminal:
shellinaboxd -t -b -p 8333 --no-beep -s '/htop_app/:nobody:nogroup:/:htop -d 10'
Le port est changeable ainsi que le web_path correspondant à /htop_app/.Ensuite vous vous rendez donc sur http://votredomaine:8333/htop_app et vous avez htop.
Attention si vous utilisez cette méthode, pour des raisons de sécurité, il faudrait bloquer l'accès sur le port par défaut et l'autoriser uniquement derrière un reverse proxy nginx avec une protection par mot de passe ou certificat.
Si vous trouvez d'autres utilisations intéressantes, n'hésitez pas à les poster dans la discussion associée à ce tuto et je serais ravi de les ajouter.