Do strežniškega terminala dostopajte prek spletnega brskalnika

Predpostavimo, da iz nekega razloga do strežnika ne moremo dostopati s terminalom, ker morda hodimo po ulici in imamo zgolj svoj mobilni telefon, in ker nismo geeki ali kaj podobnega, nismo namestili nobene aplikacije ta tip.

Kaj potem storimo? No, nič, ničesar ne moremo storiti, dokler ne pridemo domov ali na delo, dostopamo do strežnika in namestimo shellinabox. Kaj pa je to, ali jeste?

shellinabox

shellinabox izvaja Strežnik splet, ki lahko izvoz linijska orodja ukaz ima a terminalski emulator spletno. Ta emulator dostopna je iz katerega koli brskalnika, ki podpira JavaScript in CSS y ne zahteva Nobene vrste vključiti dodatno za delovanje.

Čeprav je bil prvotni projekt ukinjen, obstajajo vilice na Githubu ki nam omogoča, da ga namestimo, če ga nimamo v skladiščih. V primeru Ubuntu 14.04 je, zato moramo le odpreti terminal in postaviti:

$ sudo apt install shellinabox openssl ca-certificates

V primeru zadnjih dveh paketov je v primeru, da jih še nimamo nameščenih. In ko je to končano, lahko zdaj dostopamo do našega terminala v spletu, tako da vstavimo v brskalnik:

http://la_ip_o_nombre_del_servidor:4200

shellinabox

Uporabite Shellinabox skozi vrata 80

Kot lahko vidite, Shellinabox privzeto uporablja vrata 4200 in do njega morda ne bomo mogli dostopati, če ga blokira naš ponudnik storitev. Lahko uporabimo različico, ki ni varna, vendar deluje, to je za uporabo shellinabox Ob pristanišču 80, čeprav bom kasneje pokazal, kako uporabljati 443 če ga imamo na voljo.

Kar bomo storili, je, da v naš brskalnik vstopimo v Shellinabox:

http://la_ip_o_nombre_del_servidor/terminal

Za to najprej najprej namestimo NGinx:

$ sudo apt install nginx

Zdaj ustvarimo datoteko / etc / nginx / sites-enabled / shellinabox in ga vstavimo notri:

 strežnik {proxy_set_header Gostitelj $ 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; lokacija / terminal / {proxy_pass http: // localhost: 4200 /; }}

Datoteko uredimo / etc / default / shellinabox in na koncu postavimo:

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

Znova zaženemo Nginx y shellinabox:

$ sudo /etc/init.d/shellinabox ponovni zagon $ sudo /etc/init.d/nginx ponovni zagon

In pripravljen !!

Uporabite Shellinabox skozi vrata 443

Ta postopek je nekoliko bolj okoren, ker moramo ustvariti svoja potrdila SSL. Za to bomo storili naslednje:

Najprej namestimo OpenSSL:

$ sudo apt-get install openssl

Ustvarimo zasebni ključ:

openssl genrsa -out server.key 2024

Ustvarimo osnovo certifikata, kamor bomo vnesli vrsto podatkov:

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

Podatki, ki jih bomo izpolnili, bodo:

  • Ime države (dvočrkovna koda): Koda države v dvočrkovni obliki ISO (npr. ES, ZDA, CU, MX ..).
  • Ime države ali province (polno ime): Država ali provinca (npr. Florida).
  • Ime kraja: Mesto ali mesto (npr. Miami).
  • Ime organizacije: Ime organizacije (npr. DesdeLinux).
  • Ime organizacijske enote: Sektor organizacije (npr. Blogi).
  • Pogosto ime: Ime domene ali FQDN. Pomembno je vedeti, da obstaja razlika med blogom.desdelinux.net in desdelinux.mreža. Registrirati morate potrdilo za eno ali drugo.
  • Email naslov: Kontaktni e-naslov.
  • Geslo za izziv: V beli barvi.
  • Izbirno ime podjetja: V beli barvi.

Zdaj ustvarimo potrdilo SSL, ki bo zajemalo podatke, ki smo jih vnesli:

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

Potrdila kopiramo v mapo SSL znotraj / etc:

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

Datoteko znova uredimo / etc / default / shellinabox in spremenimo tisto, kar smo dali, na koncu:

SHELLINABOX_ARGS="--no-beep"

Zdaj uredimo datoteko / etc / nginx / sites-enabled / shellinabox in ga vstavimo notri:

 strežnik {poslušaj 80; vrni 301 https: // $ host $ request_uri; } strežnik {poslušaj 443; ime strežnika myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl vklopljen; ssl_session_cache vgrajeno: 1000 v skupni rabi: SSL: 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH :! aNULL :! eNULL :! EXPORT :! CAMELLIA :! DES :! MD5 :! PSK :! RC4; ssl_prefer_server_ciphers vklopljen; dostop_log /var/log/nginx/shellinabox.access.log; lokacija / terminal {proxy_set_header Gostitelj $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header shema X-Forwarded-Proto $; # Odpravite napako »Zdi se, da je nastavitev vašega obratnega proxyja pokvarjena«. Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }

Storitve znova zaženemo:

$ sudo /etc/init.d/shellinabox ponovni zagon $ sudo /etc/init.d/nginx ponovni zagon

in dostopamo

http://la_ip_o_nombre_del_servidor/terminal

ki bi nas morali preusmeriti na:

https://la_ip_o_nombre_del_servidor/terminal

In to je vse.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   klovn je dejal

    Spomnil me je na tisto, kar izide v seriji CSI

  2.   drassill je dejal

    Najbolj zanimiva objava; Nikoli še nisem slišal za to pripomoček in resnica je, da je najbolj radoveden in uporaben ... Moram domnevati, da tako kot ta koncept velja za Ngix, ga lahko uporabimo tudi za Apache, kajne?

  3.   mat1986 je dejal

    Spominja me na to, kako deluje Butterfly, še posebej pri uporabi terminala iz brskalnika. Seveda ne s takšno zapletenostjo, kot to, kar kažejo tukaj 🙂

  4.   xykyz je dejal

    «Predpostavimo, da iz nekega razloga do strežnika ne moremo dostopati s terminalom, ker morda hodimo po ulici in imamo zgolj svoj mobilni telefon in ker nismo geeki ali kaj podobnega, nismo namestili nobene aplikacije te vrste. "

    Kako bomo želeli vstopiti v naš strežnik, če nismo geeki? hahaha

    Zdi se mi veliko hitreje, da uporabljam ssh aplikacijo kot brskalnik in se izogibam nameščanju programske opreme na strežnik, vendar je vseeno zanimiva možnost.

  5.   nonex je dejal

    Prednost, ko ste na mestu s čistim sistemom Windows.

  6.   ime je dejal

    "Prednost, ko ste na mestu s čistim sistemom Windows."
    vabi ……………… kit ali muco.

  7.   Jose Manuel Higuera je dejal

    odlični moški to super hvala za prispevek