In diesem Tutorial werden wir sehen, wie man Shellinabox installiert (Ausgesprochen als „Shell In A Box“) für den Fernzugriff auf das Linux-SSH-Terminal mit AJAX/JavaScript- und CSS-fähigen Webbrowsern. Angenommen, Ihr Linux-Server ist mit Firewall aktiviert und erlaubt nur notwendige Ports (sagt HTTP(s)), dann ist Shellinabox eine ideale Lösung, um Benutzern ein webbasiertes Shell-Terminal bereitzustellen.
Installieren von Shellinabox unter Linux
Standardmäßig Shellinabox Das Paket ist in allen Linux-Distributions-Repositories enthalten, einschließlich Debian, Ubuntu und CentOS. Stellen Sie sicher, dass Ihr Repository aktiviert und verfügbar ist, um Shellinabox zu installieren.
Auf Debian und 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:~#
Auf RHEL, CentOS und Fedora
Konfigurieren Sie das Yum-Repository auf RedHat-basierten Distributionen. Als nächstes müssen Sie EPEL Repository konfigurieren:
So aktivieren Sie EPEL Repo:
Für EL5:
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Für EL6:
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
Für EL7:
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Installieren Sie dann Shellinabox mit dem folgenden yum Befehl.
#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!
Shellinabox konfigurieren
Shellinabox hat einen eingebauten Webserver, der als webbasierter SSH-Client läuft und auf Port 4200 lauscht. Aus Sicherheitsgründen können Sie diesen Standardport auf einen zufälligen Port ändern (z. B.:4312 oder einen anderen freien). Standardmäßig wird automatisch ein neues selbstsigniertes SSL-Zertifikat unter „/var/lib/shellinabox erstellt ” um das HTTPS-Protokoll zu verwenden.
So finden Sie heraus, welcher Port frei ist
#telnet localhost <port_no>
or
#netstat -anp | grep <port_no>
Auf Debian &Ubuntu
#vim /etc/default/shellinabox
# TCP port that shellinboxd's webserver listens on SHELLINABOX_PORT=4200
Auf RHEL, CentOS und Fedora
# vi /etc/sysconfig/shellinaboxd
# TCP port that shellinboxd's webserver listens on PORT=4200
Starten Sie den Shellinabox-Service-Daemon
Sobald die Konfiguration abgeschlossen ist, können Sie den Dienst starten, indem Sie den folgenden Befehl ausgeben:
Auf Debian &Ubuntu
#service shellinabox start
Auf RHEL und CentOS
#service shellinaboxd start
Verifizieren Sie den Dienst
Prüfen Sie mit netstat, ob der Dienst ordnungsgemäß gestartet wurde und auf Port 4200 lauscht (Port kann je nach obiger Konfiguration unterschiedlich sein). Befehl wie unten gezeigt:
root@ubuntu:# netstat -anp | grep shellinabox tcp 0 0 0.0.0.0:4200 0.0.0.0:* LISTEN 31331/shellinaboxd
So verwenden Sie Shellinabox im Browser
Öffnen Sie Ihren Webbrowser und navigieren Sie zu https://server-ip:4200 . Jetzt sollten Sie ein webbasiertes SSH-Terminal sehen können, wie unten gezeigt, das zur Anmeldung auffordert. Sie können sich mit Ihrem SSH-Benutzernamen und -Passwort anmelden und bei Erfolg wird Ihnen ein Shell-Prompt angezeigt.
Beim Abmelden: