V tomto tutoriálu uvidíme, jak nainstalovat Shellinabox (Vyslovováno jako „Shell In A Box“) pro vzdálený přístup k terminálu Linux SSH pomocí webových prohlížečů podporujících AJAX/JavaScript a CSS. Za předpokladu, že váš linuxový server má povolenou bránu firewall a povoluje pouze nezbytné porty (říká HTTP(y)), pak je Shellinabox ideálním řešením, jak uživatelům poskytnout webový terminál Shell.
Instalace Shellinabox v systému Linux
Ve výchozím nastavení Shellinabox balíček je součástí všech repozitářů distribuce Linuxu včetně Debianu, Ubuntu a CentOS. Ujistěte se, že je váš repozitář povolený a dostupný pro instalaci shellinaboxu.
Na Debianu a 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:~#
Na RHEL, CentOS a Fedora
Nakonfigurujte úložiště yum na distribucích založených na RedHat. Dále musíte nakonfigurovat úložiště EPEL:
Jak povolit EPEL Repo:
Pro EL5:
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Pro EL6:
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
Pro EL7:
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Poté nainstalujte shellinabox pomocí následujícího yum příkaz.
#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!
Konfigurovat Shellinabox
Shellinabox má vestavěný webový server, který běží jako webový SSH klient a naslouchá na portu 4200. Z bezpečnostních důvodů můžete tento výchozí port změnit na náhodný port (např.:4312 nebo podle toho, co je volné). Ve výchozím nastavení se nový certifikát SSL s vlastním podpisem vytvoří automaticky pod „/var/lib/shellinabox ” pro použití protokolu HTTPS.
Jak zjistit, který port je volný
#telnet localhost <port_no>
or
#netstat -anp | grep <port_no>
V Debianu a Ubuntu
#vim /etc/default/shellinabox
# TCP port that shellinboxd's webserver listens on SHELLINABOX_PORT=4200
Na RHEL, CentOS a Fedora
# vi /etc/sysconfig/shellinaboxd
# TCP port that shellinboxd's webserver listens on PORT=4200
Spustit servisního démona Shellinabox
Po dokončení konfigurace můžete službu spustit zadáním následujícího příkazu:
V Debianu a Ubuntu
#service shellinabox start
Na RHEL a CentOS
#service shellinaboxd start
Ověřte službu
Zkontrolujte, zda se služba spustila správně a naslouchá na portu 4200 (port se může lišit v závislosti na výše uvedené konfiguraci) pomocí netstat příkaz, jak je znázorněno níže:
root@ubuntu:# netstat -anp | grep shellinabox tcp 0 0 0.0.0.0:4200 0.0.0.0:* LISTEN 31331/shellinaboxd
Jak používat Shellinabox v prohlížeči
Otevřete webový prohlížeč a přejděte na https://server-ip:4200 . Nyní byste měli vidět webový terminál SSH, jak je znázorněno níže, s výzvou k přihlášení. Můžete se přihlásit pomocí svého SSH uživatelského jména a hesla a po úspěšném přihlášení se zobrazí výzva shellu.
Po odhlášení: