GNU/Linux >> Linux Esercitazione >  >> Linux

[Linux]:Shellinabox – Un accesso basato sul web al tuo terminale SSH

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:


Linux
  1. Registra la tua sessione terminale con Asciinema

  2. Qual è il tuo emulatore di terminale preferito?

  3. [Linux]:come fermare gli attacchi SSH automatizzati basati su bot?

  4. Come creare un terminale basato sul Web utilizzando xterm.js per ssh in un sistema sulla rete locale

  5. Limita l'accesso SSH basato su password per utente ma consenti l'autenticazione con chiave

Apache Guacamole:accedi al tuo computer da qualsiasi luogo tramite browser web

Terminus:un terminale moderno basato sulla tecnologia Web

Come condividere il tuo terminale sul Web utilizzando Streamhut

Bashhub:accedi alla cronologia del tuo terminale da qualsiasi luogo

Come connettersi al tuo server web tramite SSH

Proteggi i tuoi server di hosting web