Dans ce tutoriel, nous verrons comment installer Shellinabox (Prononcé comme "Shell In A Box") pour l'accès à distance au terminal Linux SSH à l'aide de navigateurs Web compatibles AJAX/JavaScript et CSS. En supposant que votre serveur Linux est activé avec le pare-feu et n'autorise que les ports nécessaires (par exemple HTTP(s)), alors Shellinabox est une solution idéale pour fournir un terminal Shell basé sur le Web aux utilisateurs.
Installer Shellinabox sur Linux
Par défaut, Shellinabox Le package est inclus dans tous les référentiels de distribution Linux, y compris Debian, Ubuntu et CentOS. Assurez-vous que votre référentiel est activé et disponible pour installer shellinabox.
Sur Debian et Ubuntu
root@ubuntu:~# apt-cache search shellinabox shellinabox - publish command line shell through AJAX interface root@ubuntu:~#
root@ubuntu:~# apt-get install shellinabox Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: shellinabox .... .... Setting up shellinabox (2.14-1) ... Processing triggers for ureadahead (0.100.0-16) ... root@ubuntu:~#
Sur RHEL, CentOS et Fedora
Configurez le référentiel yum sur les distributions basées sur RedHat. Ensuite, vous devez configurer le référentiel EPEL :
Comment activer le référentiel EPEL :
Pour EL5 :
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Pour EL6 :
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
Pour EL7 :
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Ensuite, installez shellinabox en utilisant le yum suivant commande.
#yum install shellinabox Loaded plugins: security Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package shellinabox.x86_64 0:2.14-27.git88822c1.el5 set to be updated --> Finished Dependency Resolution .... .... .... Complete!
Configurer Shellinabox
Shellinabox dispose d'un serveur Web intégré qui s'exécute en tant que client SSH basé sur le Web et écoute sur le port 4200. Pour des raisons de sécurité, vous pouvez remplacer ce port par défaut par un port aléatoire (par exemple :4312 ou celui qui est libre). Par défaut, un nouveau certificat SSL auto-signé est créé automatiquement sous "/var/lib/shellinabox ” pour utiliser le protocole HTTPS.
Comment trouver un port libre
#telnet localhost <port_no>
or
#netstat -anp | grep <port_no>
Sur Debian et Ubuntu
#vim /etc/default/shellinabox
# TCP port that shellinboxd's webserver listens on SHELLINABOX_PORT=4200
Sur RHEL, CentOS et Fedora
# vi /etc/sysconfig/shellinaboxd
# TCP port that shellinboxd's webserver listens on PORT=4200
Démarrer le démon du service Shellinabox
Une fois la configuration terminée, vous pouvez démarrer le service en lançant la commande suivante :
Sur Debian et Ubuntu
#service shellinabox start
Sur RHEL et CentOS
#service shellinaboxd start
Vérifier le service
Vérifiez si le service a démarré correctement et écoute sur le port 4200 (le port peut être différent en fonction de la configuration ci-dessus) à l'aide de netstat commande comme indiqué ci-dessous :
root@ubuntu:# netstat -anp | grep shellinabox tcp 0 0 0.0.0.0:4200 0.0.0.0:* LISTEN 31331/shellinaboxd
Comment utiliser Shellinabox sur le navigateur
Ouvrez votre navigateur Web et accédez à https://server-ip:4200 . Vous devriez maintenant pouvoir voir un terminal SSH basé sur le Web, comme indiqué ci-dessous, vous invitant à vous connecter. Vous pouvez vous connecter en utilisant votre nom d'utilisateur et votre mot de passe SSH et en cas de succès, une invite du shell vous sera présentée.
À la déconnexion :