Autant dire que c'est une solution parfaite quand on veut avoir un accès ssh depuis un poste sur lequel on ne peut même pas faire démarrer putty comme par exemple un poste de travail bien verrouillé en entreprise.
En plus c'est packagé pour Debian/Ubuntu et, à l'heure où j'écris ces lignes, disponible dans les dépôt de Debian sid. Mais que demande le peuple ?
Installation et configuration
Sur le serveur ou n'importe quelle machine Debian/Ubuntu sur laquelle on veut avoir un accès à distance:
#wget http://shellinabox.googlecode.com/files/shellinabox_2.10-1_amd64.deb
Repérer le bon lien de téléchargement adapté à sa version ( 32 ou 64 bits ) sur le site officiel dans la partie "downloads" puis
dpkg -i shellinabox_2.10-1_amd64.deb
et notre shellinabox est installé et le démon démarré.
Accès au shell via le navigateur.
On ouvre son poste et son navigateur (ici, au taf, on a Firefox 3.5) puis on tape l'adresse http://IP_DU_SERVEUR:4200 et on a notre invite de login sur laquelle on se connecte et on obtient ça ( cliquer pour agrandir ) :
Remarques complémentaires
- Par défaut , la connexion passe directement en https en utilisant un certificat auto-signé. c'est débrayable (mais déconseillé) . le certificat auto-signé peut, comme chez moi poser souci. Il ne doit pas falloir chercher bien loin pour mettre en place et paramétrer l'utilisation d'un certificat certifié par une autorité compétente ;)
- Le port d'écoute est par défaut le 4200 , c'est modifiable via le /etc/default/shellinabox comme pas mal d'autres options. ( voir la page de manuel ) ou sinon il peut sembler pertinent d'utiliser apache2 pour faire du reverse proxy et permettre des requêtes sur un classique port 80 traditionnellement ouvert dans les entreprises.
- Une connexion avec authentification par mot de passe semble nécessaire et la configuration ssh . Je n'ai pas trouvé d'info sur une éventuelle possibilité d'authentification par paire de clés.
- A priori il n'y a pas de limitation dans les commandes possibles.
- Rien d'autre à signaler pour le moment . Toutes les infos sont claires dans la man page déjà donnée en lien ci dessus.