GNU/Linux >> LINUX-Kenntnisse >  >> Linux

[Linux] :Shellinabox – Ein webbasierter Zugang zu Ihrem SSH-Terminal

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:


Linux
  1. Zeichnen Sie Ihre Terminalsitzung mit Asciinema auf

  2. Was ist Ihr Lieblings-Linux-Terminal-Emulator?

  3. Begeben Sie sich in Ihrem Linux-Terminal auf ein Abenteuer

  4. Ssh – Ssh-Zugriffsversuche protokollieren?

  5. So erstellen Sie ein webbasiertes Terminal mit xterm.js, um per SSH in ein System im lokalen Netzwerk zu gelangen

Apache Guacamole – Greifen Sie von überall über einen Webbrowser auf Ihren Computer zu

Terminus – Ein auf Webtechnologie basierendes modernes Terminal

So geben Sie Ihr Terminal mit Streamhut für das Web frei

Bashhub – Greifen Sie von überall auf Ihren Terminalverlauf zu

So verbinden Sie sich über SSH mit Ihrem Webserver

Sicherung Ihrer Webhosting-Server