In questo tutorial vedremo come installare Shellinabox (Pronunciato come "Shell In A Box") per l'accesso remoto al terminale SSH Linux utilizzando browser Web abilitati AJAX/JavaScript e CSS. Supponendo che il tuo server Linux sia abilitato con Firewall e consenta solo le porte necessarie (ad esempio HTTP(s)), Shellinabox è una soluzione ideale per fornire agli utenti un terminale Shell basato sul Web.
Installazione di Shellinabox su Linux
Per impostazione predefinita, Shellinabox il pacchetto è incluso in tutti i repository di distribuzione Linux inclusi Debian, Ubuntu e CentOS. Assicurati che il tuo repository sia abilitato e disponibile per l'installazione di shellinabox.
Su Debian e 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:~#
Su RHEL, CentOS e Fedora
Configura il repository yum su distribuzioni basate su RedHat. Successivamente è necessario configurare EPEL Repository:
Come abilitare EPEL Repo:
Per EL5:
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Per EL6:
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
Per EL7:
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Quindi installa shellinabox usando il seguente yum comando.
#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!
Configura Shellinabox
Shellinabox dispone di un server Web integrato che funziona come client SSH basato sul Web e ascolta sulla porta 4200. Per motivi di sicurezza, puoi modificare questa porta predefinita in una porta casuale (ad esempio:4312 o qualsiasi altra sia gratuita). Per impostazione predefinita, un nuovo certificato SSL autofirmato viene creato automaticamente in "/var/lib/shellinabox ” per utilizzare il protocollo HTTPS.
Come trovare quale porta è gratuita
#telnet localhost <port_no>
or
#netstat -anp | grep <port_no>
Su Debian e Ubuntu
#vim /etc/default/shellinabox
# TCP port that shellinboxd's webserver listens on SHELLINABOX_PORT=4200
Su RHEL, CentOS e Fedora
# vi /etc/sysconfig/shellinaboxd
# TCP port that shellinboxd's webserver listens on PORT=4200
Avvia il demone del servizio Shellinabox
Una volta completata la configurazione, puoi avviare il servizio eseguendo il seguente comando:
Su Debian e Ubuntu
#service shellinabox start
Su RHEL e CentOS
#service shellinaboxd start
Verifica il servizio
Verifica se il servizio è stato avviato correttamente e rimane in ascolto sulla porta 4200 (la porta potrebbe essere diversa in base alla configurazione precedente) utilizzando netstat comando come mostrato di seguito:
root@ubuntu:# netstat -anp | grep shellinabox tcp 0 0 0.0.0.0:4200 0.0.0.0:* LISTEN 31331/shellinaboxd
Come usare Shellinabox sul browser
Apri il tuo browser web e vai a https://server-ip:4200 . Ora dovresti essere in grado di vedere un terminale SSH basato sul Web come mostrato di seguito che richiede l'accesso. Puoi accedere utilizzando il tuo nome utente e password SSH e, in caso di successo, ti verrà presentato un prompt della shell.
Al momento del logout: