Få adgang til din serverterminal via din webbrowser

Lad os antage, at vi af en eller anden grund ikke kan få adgang til vores server med en terminal, for måske går vi ned ad gaden, og vi har kun vores mobiltelefon øverst, og da vi ikke er nørder eller noget, har vi ikke installeret nogen applikation af denne type.

Hvad gør vi så? Nå, intet, vi kan ikke gøre noget, før vi kommer hjem eller arbejder, får adgang til vores server og installerer shellinabox. Men hvad er det, spiser du?

shellinabox

shellinabox redskaber En server web, der kan eksport linje værktøjer kommando til terminalemulator webbaseret. Denne emulator er tilgængelig fra enhver browser, der understøtter JavaScript og CSS y kræver ikke ingen slags plugin ekstra til funktion.

Selvom det oprindelige projekt blev afbrudt, er der en gaffel på Github det giver os mulighed for at installere det, hvis vi ikke har det i arkiverne. I tilfælde af Ubuntu 14.04 er det, så vi skal bare åbne en terminal og sætte:

$ sudo apt install shellinabox openssl ca-certificates

I tilfælde af de sidste to pakker er det i tilfælde af, at vi ikke allerede har dem installeret. Og når dette er gjort, kan vi nu få adgang til vores terminal på nettet ved at sætte i browseren:

http://la_ip_o_nombre_del_servidor:4200

shellinabox

Brug Shellinabox gennem port 80

Som du kan se, bruger Shellinabox som standard porten 4200 og vi kan muligvis ikke få adgang til det, hvis det er blokeret af vores tjenesteudbyder. Vi kan bruge en variant, der er usikker, men fungerer, som skal bruges shellinabox Ved havnen 80, selvom jeg senere vil vise, hvordan jeg bruger 443 hvis vi har det tilgængeligt.

Hvad vi vil gøre er at få adgang til Shellinabox ved at sætte i vores browser:

http://la_ip_o_nombre_del_servidor/terminal

For at gøre dette er den første ting, vi gør, at installere NGinx:

$ sudo apt install nginx

Nu opretter vi filen / etc / nginx / sites-enabled / shellinabox og vi sætter det inde:

 server {proxy_set_header Host $ http_host; proxy_set_header X-Videresendt vært $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Videresendt-For $ proxy_add_x_forwarded_for; placering / terminal / {proxy_pass http: // localhost: 4200 /; }}

Vi redigerer filen / etc / default / shellinabox og vi afslutter:

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

Vi genstarter Nginx y shellinabox:

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

Og klar !!

Brug Shellinabox gennem port 443

Denne proces er lidt mere besværlig, fordi vi er nødt til at oprette vores SSL-certifikater. Til dette vil vi gøre følgende:

Først installerer vi OpenSSL:

$ sudo apt-get install openssl

Vi opretter en privat nøgle:

openssl genrsa -out server.key 2024

Vi opretter basen af ​​certifikatet, hvor vi lægger en række data:

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

De data, som vi udfylder, er:

  • Landets navn (kode med 2 bogstaver): Landekode i ISO-format på to bogstaver (f.eks: ES, US, CU, MX ..).
  • Navn på stat eller provins (fuldt navn): Stat eller provins (f.eks. Florida).
  • Navn på lokalitet: By eller by (f.eks. Miami).
  • Organisationens navn: Organisationens navn (f.eks.: DesdeLinux).
  • Organisationsenheds navn: Organisationssektor (f.eks. Blogs).
  • Almindeligt navn: Domænenavn eller FQDN. Det er vigtigt at vide, at der er forskel på en blog.desdelinux.net og desdelinux.net. Du skal registrere certifikatet for det ene eller det andet.
  • Email adresse: Kontakt e-mail-adresse.
  • En adgangskode til udfordring: I hvid.
  • Et valgfrit firmanavn: I hvid.

Nu genererer vi SSL-certifikatet, som tager de data, vi indtastede:

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

Vi kopierer certifikaterne til SSL-mappen inde i / etc:

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

Vi redigerer filen igen filen / etc / default / shellinabox og vi ændrer det, vi havde sat, ved at afslutte:

SHELLINABOX_ARGS="--no-beep"

Nu redigerer vi filen / etc / nginx / sites-enabled / shellinabox og vi sætter det inde:

 server {lyt 80; returner 301 https: // $ host $ request_uri; } server {lyt 443; servernavn myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl på; ssl_session_cache indbygget: 1000 delt: 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; adgang_log /var/log/nginx/shellinabox.access.log; placering / terminal {proxy_set_header Host $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Videresendt-For $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $-ordning; # Ret fejlen "Det ser ud til, at din omvendte proxyopsætning er brudt. Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }

Vi genstarter tjenesterne:

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

og vi får adgang

http://la_ip_o_nombre_del_servidor/terminal

som skulle omdirigere os til:

https://la_ip_o_nombre_del_servidor/terminal

Og det er alt.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   klovn sagde han

    Det mindede mig om, hvad der kommer ud i CSI-serien

  2.   drassill sagde han

    Et meget interessant indlæg; Jeg havde aldrig hørt om dette værktøj, og sandheden er, at det er mest nysgerrig og nyttigt ... Jeg må antage, at ligesom dette koncept er blevet anvendt på Ngix, kan det også anvendes på Apache, ikke?

  3.   mat1986 sagde han

    Det minder mig om, hvordan Butterfly fungerer, især når man bruger terminalen fra browseren. Selvfølgelig ikke med så meget kompleksitet som det, de viser her 🙂

  4.   xykyz sagde han

    «Vi vil antage, at vi af en eller anden grund ikke kan få adgang til vores server med en terminal, for måske går vi ned ad gaden, og vi har kun vores mobiltelefon øverst, og da vi ikke er nørder eller noget, har vi ikke installeret nogen applikation af dette type."

    Hvordan vil vi komme ind på vores server, hvis vi ikke er nørder? hahaha

    Det forekommer mig meget hurtigere at bruge en ssh-app end at bruge en browser, og du undgår at installere software på serveren, men det er stadig en interessant mulighed.

  5.   Ingenx sagde han

    Fordel, når du er et sted med rene Windows.

  6.   Navn sagde han

    "Fordel, når du er et sted med rene Windows."
    entoses ……………… kit eller kitty.

  7.   Jose Manuel Higuera sagde han

    Fremragende mænd denne super tak for bidraget