Greifen Sie über Ihren Webbrowser auf Ihr Serverterminal zu

Nehmen wir an, wir können aus irgendeinem Grund nicht mit einem Terminal auf unseren Server zugreifen, weil wir vielleicht die Straße entlang gehen und nur unser Handy oben haben. Da wir keine Geeks oder ähnliches sind, haben wir keine Anwendung dieses Typs installiert .

Was machen wir dann? Nichts, wir können nichts tun, bis wir nach Hause oder zur Arbeit kommen, auf unseren Server zugreifen und installieren Shellinabox. Aber was ist das, isst du?

Shellinabox

Shellinabox Arbeitsgeräte Ein Server Web, das kann Export Linienwerkzeuge Befehl ein Terminal-Emulator webbasiert. Dieser Emulator ist über jeden unterstützten Browser zugänglich JavaScript und CSS y erfordert nicht keine Art von Plugin zusätzlich zu funktionieren.

Obwohl das ursprüngliche Projekt eingestellt wurde, gibt es eine Gabel auf Github Dadurch können wir es installieren, wenn wir es nicht in den Repositorys haben. Im Fall von Ubuntu 14.04 ist es so, also müssen wir nur ein Terminal öffnen und setzen:

$ sudo apt install shellinabox openssl ca-certificates

Bei den letzten beiden Paketen ist dies der Fall, falls wir sie noch nicht installiert haben. Sobald dies erledigt ist, können wir jetzt über den Browser auf unser Terminal im Web zugreifen:

http://la_ip_o_nombre_del_servidor:4200

Shellinabox

Verwenden Sie Shellinabox über Port 80

Wie Sie sehen können, verwendet Shellinabox standardmäßig den Port 4200 und wir können möglicherweise nicht darauf zugreifen, wenn es von unserem Dienstanbieter blockiert wird. Wir können eine Variante verwenden, die unsicher ist, aber funktioniert, nämlich zu verwenden Shellinabox Am Hafen 80, obwohl ich später zeigen werde, wie man das benutzt 443 wenn wir es zur Verfügung haben.

Wir werden auf Shellinabox zugreifen, indem wir unseren Browser eingeben:

http://la_ip_o_nombre_del_servidor/terminal

Dazu installieren wir zunächst NGinx:

$ sudo apt install nginx

Jetzt erstellen wir die Datei / etc / nginx / sites-enabled / shellinabox und wir legen es hinein:

 server {proxy_set_header Host $ http_host; proxy_set_header X-Forwarded-Host $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; location / terminal / {proxy_pass http: // localhost: 4200 /; }}

Wir bearbeiten die Datei / etc / default / shellinabox und wir setzen am Ende:

SHELLINABOX_ARGS="--localhost-only --disable-ssl"

Wir starten neu Nginx y Shellinabox:

$ sudo /etc/init.d/shellinabox Neustart $ sudo /etc/init.d/nginx Neustart

Und fertig!!

Verwenden Sie Shellinabox über Port 443

Dieser Vorgang ist etwas umständlicher, da wir unsere SSL-Zertifikate erstellen müssen. Dazu werden wir folgendes tun:

Zuerst installieren wir OpenSSL:

$ sudo apt-get install openssl

Wir erstellen einen privaten Schlüssel:

openssl genrsa -out server.key 2024

Wir erstellen die Basis des Zertifikats, in die wir eine Reihe von Daten einfügen:

openssl req -new -key server.key -out server.csr

Die Daten, die wir ausfüllen, sind:

  • Ländername (2-Buchstaben-Code): Ländercode im aus zwei Buchstaben bestehenden ISO-Format (z. B. ES, US, CU, MX ..).
  • Name des Staates oder der Provinz (vollständiger Name): Bundesstaat oder Provinz (zB Florida).
  • Ortsname: Stadt oder Gemeinde (zB Miami).
  • Organisation Name: Name der Organisation (z. B.: DesdeLinux).
  • Name der Organisationseinheit: Organisationssektor (zB Blogs).
  • Gemeinsamen Namen: Domänenname oder FQDN. Es ist wichtig zu wissen, dass es einen Unterschied zwischen einem Blog gibt.desdelinux.net und desdelinux.Netz. Sie müssen das Zertifikat für das eine oder andere registrieren.
  • E-Mail: Kontakt-E-Mailadresse.
  • Ein Herausforderungspasswort: Blank.
  • Ein optionaler Firmenname: Blank.

Jetzt generieren wir das SSL-Zertifikat, das die von uns eingegebenen Daten übernimmt:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Wir kopieren die Zertifikate in den SSL-Ordner in / etc:

$ sudo cp server.crt /etc/ssl/certs/ssl.crt $ sudo cp server.key /etc/ssl/certs/ssl.key

Wir bearbeiten die Datei erneut die Datei / etc / default / shellinabox und wir ändern, was wir gesetzt hatten, und setzen am Ende:

SHELLINABOX_ARGS="--no-beep"

Jetzt bearbeiten wir die Datei / etc / nginx / sites-enabled / shellinabox und wir legen es hinein:

 Server {Listen 80; return 301 https: // $ host $ request_uri; } server {listen 443; Servername myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl on; ssl_session_cache integriert: 1000 freigegeben: SSL: 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:! aNULL:! eNULL:! EXPORT:! CAMELLIA:! DES:! MD5:! PSK:! RC4; ssl_prefer_server_ciphers on; access_log /var/log/nginx/shellinabox.access.log; location / terminal {proxy_set_header Host $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $ -Schema; # Beheben Sie den Fehler "Es scheint, dass Ihre Reverse-Proxy-Einrichtung fehlerhaft ist". Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }}

Wir starten die Dienste neu:

$ sudo /etc/init.d/shellinabox Neustart $ sudo /etc/init.d/nginx Neustart

und wir greifen zu

http://la_ip_o_nombre_del_servidor/terminal

was uns umleiten sollte zu:

https://la_ip_o_nombre_del_servidor/terminal

Und das ist alles.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Clown sagte

    Es erinnerte mich an das, was in der CSI-Serie herauskommt

  2.   Drasill sagte

    Ein sehr interessanter Beitrag; Ich hatte noch nie von diesem Dienstprogramm gehört und die Wahrheit ist, dass es höchst merkwürdig und nützlich ist ... Ich muss davon ausgehen, dass dieses Konzept, so wie es auf Ngix angewendet wurde, auch auf Apache angewendet werden kann, oder?

  3.   mat1986 sagte

    Es erinnert mich an die Funktionsweise von Butterfly, insbesondere wenn Sie das Terminal über den Browser verwenden. Natürlich nicht so komplex wie das, was sie hier zeigen 🙂

  4.   xykyz sagte

    «Nehmen wir an, wir können aus irgendeinem Grund nicht mit einem Terminal auf unseren Server zugreifen, weil wir vielleicht die Straße entlang gehen und nur unser Handy oben haben. Da wir keine Geeks oder ähnliches sind, haben wir keine Anwendung installiert von diesem Typ. "

    Wie wollen wir unseren Server betreten, wenn wir keine Geeks sind? hahaha

    Es scheint mir viel schneller zu sein, eine SSH-App zu verwenden als einen Browser, und Sie vermeiden die Installation von Software auf dem Server, aber es ist immer noch eine interessante Option.

  5.   Nichtex sagte

    Vorteil, wenn Sie sich an einem Ort mit reinem Windows befinden.

  6.   Name sagte

    "Vorteil, wenn Sie sich an einem Ort mit reinem Windows befinden."
    beinhaltet ……………… Kitt oder Kätzchen.

  7.   Jose Manuel Higuera sagte

    ausgezeichnete Männer dies super danke für den Beitrag