Gå till din serverterminal via din webbläsare

Låt oss anta att vi av någon anledning inte kan komma åt vår server med en terminal, för kanske går vi ner på gatan och vi har bara vår mobiltelefon ovanpå, och eftersom vi inte är nördar eller något har vi inte installerat någon applikation av denna typ .

Vad gör vi då? Tja, ingenting, vi kan inte göra någonting förrän vi kommer hem eller jobbar, får åtkomst till vår server och installerar shellinabox. Men vad är det, äter du?

shellinabox

shellinabox redskap En server webb som kan export linjeverktyg kommando till a terminalemulator webbaserat. Denna emulator är tillgänglig från alla webbläsare som stöder JavaScript och CSS y kräver inte ingen typ av plugin ytterligare för att fungera.

Även om det ursprungliga projektet avbröts, finns det en gaffel på Github det gör att vi kan installera det om vi inte har det i förvaret. I fallet med Ubuntu 14.04 är det, så vi måste bara öppna en terminal och sätta:

$ sudo apt install shellinabox openssl ca-certificates

När det gäller de två sista paketen är det om vi inte redan har dem installerade. Och när detta är gjort kan vi nu komma åt vår terminal på webben genom att sätta i webbläsaren:

http://la_ip_o_nombre_del_servidor:4200

shellinabox

Använd Shellinabox genom port 80

Som du ser använder Shellinabox porten som standard 4200 och vi kanske inte kommer åt den om den blockeras av vår tjänsteleverantör. Vi kan använda en variant som är osäker men fungerar, vilken är att använda shellinabox Vid hamnen 80, även om jag senare kommer att visa hur man använder 443 om vi har det tillgängligt.

Vad vi kommer att göra är att komma åt Shellinabox genom att sätta i vår webbläsare:

http://la_ip_o_nombre_del_servidor/terminal

För att göra detta är det första vi gör att installera NGinx:

$ sudo apt install nginx

Nu skapar vi filen / etc / nginx / sites-enabled / shellinabox och vi lägger in det:

 server {proxy_set_header Värd $ http_host; proxy_set_header X-vidarebefordrad värd $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Vidarebefordras-För $ proxy_add_x_forwarded_for; plats / terminal / {proxy_pass http: // localhost: 4200 /; }}

Vi redigerar filen / etc / default / shellinabox och vi satte i slutet:

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

Vi startar om Nginx y shellinabox:

$ sudo /etc/init.d/shellinabox starta om $ sudo /etc/init.d/nginx starta om

Och redo !!

Använd Shellinabox genom port 443

Denna process är lite mer besvärlig eftersom vi måste skapa våra SSL-certifikat. För detta kommer vi att göra följande:

Först installerar vi OpenSSL:

$ sudo apt-get installera openssl

Vi skapar en privat nyckel:

openssl genrsa -out server.key 2024

Vi skapar basen för certifikatet, där vi kommer att lägga en serie data:

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

Uppgifterna som vi fyller i kommer att vara:

  • Landsnamn (kod med två bokstäver): Landskod i två bokstäver ISO-format (t.ex. ES, US, CU, MX ..).
  • Statens eller provinsens namn (fullständigt namn): Stat eller provins (ex: Florida).
  • Ortnamn: Stad eller stad (ex: Miami).
  • Organisations namn: Organisationens namn, (ex: DesdeLinux).
  • Organisationsenhetsnamn: Organisationssektor (ex: Bloggar).
  • Vanligt namn: Domännamn eller FQDN. Det är viktigt att veta att det är skillnad på en blogg.desdelinux.net och desdelinux.netto. Du måste registrera certifikatet för det ena eller det andra.
  • E-postadress: Kontakta e-postadress.
  • Ett utmaningslösenord: I vitt.
  • Ett valfritt företagsnamn: I vitt.

Nu genererar vi SSL-certifikatet, vilket tar de uppgifter vi angav:

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

Vi kopierar certifikaten till SSL-mappen inuti / etc:

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

Vi redigerar filen igen filen / etc / default / shellinabox och vi ändrar vad vi hade lagt och satt i slutet:

SHELLINABOX_ARGS="--no-beep"

Nu redigerar vi filen / etc / nginx / sites-enabled / shellinabox och vi lägger in det:

 server {lyssna 80; returnera 301 https: // $ host $ request_uri; } server {lyssna 443; servernamn myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl på; ssl_session_cache inbyggd: 1000 delad: 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; plats / terminal {proxy_set_header Host $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Vidarebefordras-För $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $ -schema; # Fixa "Det verkar som att din omvända proxyinställning är trasig". Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }

Vi startar om tjänsterna:

$ sudo /etc/init.d/shellinabox starta om $ sudo /etc/init.d/nginx starta om

och vi kommer åt

http://la_ip_o_nombre_del_servidor/terminal

som borde omdirigera oss till:

https://la_ip_o_nombre_del_servidor/terminal

Och det är allt.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   clown sade

    Det påminde mig om vad som kommer ut i CSI-serien

  2.   drassill sade

    Ett mycket intressant inlägg; Jag hade aldrig hört talas om det här verktyget och sanningen är att det är mest nyfiken och användbart ... Jag måste anta att precis som detta koncept har tillämpats på Ngix, kan det också tillämpas på Apache, eller hur?

  3.   mat1986 sade

    Det påminner mig om hur Butterfly fungerar, särskilt när man använder terminalen från webbläsaren. Naturligtvis inte med så mycket komplexitet som vad de visar här 🙂

  4.   xykyz sade

    «Låt oss anta att vi av någon anledning inte kan komma åt vår server med en terminal, för kanske går vi ner på gatan och vi har bara vår mobiltelefon på toppen, och eftersom vi inte är nördar eller något har vi inte installerat någon applikation av typ."

    Hur ska vi vilja komma in på vår server om vi inte är nördar? hahaha

    Det verkar för mig mycket snabbare att använda en ssh-app än att använda en webbläsare och du undviker att installera programvara på servern, men det är fortfarande ett intressant alternativ.

  5.   Nonex sade

    Fördel när du är på en plats med rena Windows.

  6.   Namn sade

    "Fördel när du är på en plats med rena Windows."
    entoser ……………… kitt eller kattunge.

  7.   Jose Manuel Higuera sade

    utmärkta män här super tack för bidraget