Få tilgang til serverterminalen din via nettleseren din

La oss anta at vi av en eller annen grunn ikke får tilgang til serveren vår med en terminal, for kanskje vi går nedover gaten, og vi har bare mobiltelefonen vår på toppen, og siden vi ikke er geeker eller noe, har vi ikke installert noen applikasjoner av denne typen .

Så hva gjør vi? Vel, ingenting, vi kan ikke gjøre noe før vi kommer hjem eller jobber, får tilgang til serveren vår og installerer shellinabox. Men hva er det, spiser du?

shellinabox

shellinabox redskaper En server nett som kan eksport linjeverktøy kommando til a terminalemulator nettbasert. Denne emulatoren den er tilgjengelig fra hvilken som helst nettleser som støtter Javascript og CSS y det krever ikke Ingen slags plugg inn tillegg til funksjon.

Selv om det opprinnelige prosjektet ble avviklet, er det det en gaffel på Github som lar oss installere det hvis vi ikke har det i depotene. I tilfelle Ubuntu 14.04 er det, så vi må bare åpne en terminal og sette:

$ sudo apt install shellinabox openssl ca-certificates

Når det gjelder de to siste pakkene, er det i tilfelle vi ikke allerede har dem installert. Og når dette er gjort, kan vi nå få tilgang til terminalen vår på nettet ved å sette i nettleseren:

http://la_ip_o_nombre_del_servidor:4200

shellinabox

Bruk Shellinabox gjennom port 80

Som du ser, bruker Shellinabox som standard porten 4200 og vi kan ikke få tilgang til den hvis den er blokkert av tjenesteleverandøren. Vi kan bruke en variant som er usikker, men som fungerer, som er å bruke shellinabox Ved havnen 80, selv om jeg senere vil vise hvordan jeg bruker 443 hvis vi har det tilgjengelig.

Det vi skal gjøre er å få tilgang til Shellinabox ved å legge inn nettleseren vår:

http://la_ip_o_nombre_del_servidor/terminal

For å gjøre dette er det første vi installerer NGinx:

$ sudo apt install nginx

Nå oppretter vi filen / etc / nginx / sites-enabled / shellinabox og vi setter den inne:

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

Vi redigerer filen / etc / default / shellinabox og vi la til slutt:

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

Vi starter på nytt Nginx y shellinabox:

$ sudo /etc/init.d/shellinabox start på nytt $ sudo /etc/init.d/nginx restart

Og klar !!

Bruk Shellinabox gjennom port 443

Denne prosessen er litt mer tungvint, fordi vi må lage SSL-sertifikatene våre. For dette vil vi gjøre følgende:

Først installerer vi OpenSSL:

$ sudo apt-get install openssl

Vi lager en privat nøkkel:

openssl genrsa -out server.key 2024

Vi lager basen til sertifikatet, hvor vi vil legge en serie med data:

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

Dataene vi skal fylle ut vil være:

  • Landets navn (kode med to bokstaver): Landskode i ISO-format på to bokstaver (f.eks. ES, US, CU, MX ..).
  • Navn på stat eller provins (fullt navn): Stat eller provins (eks: Florida).
  • Stedets navn: By eller by (eks: Miami).
  • Organisasjonsnavn: Nombre de la organización, (ej: DesdeLinux).
  • Organisasjonsenhetsnavn: Organisasjonssektor (eks: Blogger).
  • Vanlig navn: Nombre del dominio ó FQDN. Es importante conocer que hay una diferencia entre blog.desdelinux.net y desdelinux.net. Debes registrar el certificado para uno, o para el otro.
  • Epostadresse: Kontakt e-postadresse.
  • Et utfordringspassord: I hvitt.
  • Et valgfritt firmanavn: I hvitt.

Nå genererer vi SSL-sertifikatet, som tar dataene vi skrev inn:

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

Vi kopierer sertifikatene til SSL-mappen inne i / etc:

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

Vi redigerer filen igjen filen / etc / default / shellinabox og vi endrer det vi hadde lagt, og satte til slutt:

SHELLINABOX_ARGS="--no-beep"

Nå redigerer vi filen / etc / nginx / sites-enabled / shellinabox og vi setter den inne:

 server {listen 80; returner 301 https: // $ host $ request_uri; } server {listen 443; servernavn myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl på; ssl_session_cache innebygd: 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; 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-Videresendt-For $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $ -skjema; # Løs feilen "Det ser ut til at omvendt proxy-oppsett er ødelagt". Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }

Vi starter tjenestene på nytt:

$ sudo /etc/init.d/shellinabox start på nytt $ sudo /etc/init.d/nginx restart

og vi får tilgang

http://la_ip_o_nombre_del_servidor/terminal

som skal omdirigere oss til:

https://la_ip_o_nombre_del_servidor/terminal

Og det er alt.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   klovn sa

    Det minnet meg om hva som kommer ut i CSI-serien

  2.   drassill sa

    Et mest interessant innlegg; Jeg hadde aldri hørt om dette verktøyet, og sannheten er at det er mest nysgjerrig og nyttig ... Jeg må anta at akkurat som dette konseptet er blitt brukt på Ngix, kan det også brukes på Apache, ikke sant?

  3.   mat1986 sa

    Det minner meg om hvordan Butterfly fungerer, spesielt når du bruker terminalen fra nettleseren. Selvfølgelig ikke med så mye kompleksitet som det de viser her 🙂

  4.   xykyz sa

    «La oss anta at vi av en eller annen grunn ikke får tilgang til serveren vår med en terminal, for kanskje vi går nedover gaten og vi bare har mobiltelefonen vår på toppen, og siden vi ikke er geeker eller noe, har vi ikke installert noe program av dette type."

    Hvordan vil vi ønske å gå inn på serveren vår hvis vi ikke er geeker? hahaha

    Det virker for meg mye raskere å bruke en ssh-app enn å bruke en nettleser, og du unngår å installere programvare på serveren, men det er fortsatt et interessant alternativ.

  5.   Ingenx sa

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

  6.   navn sa

    "Fordel når du er på et sted med rene Windows."
    entoses ……………… kitt eller pus.

  7.   Jose Manuel Higuera sa

    gode menn denne super takk for bidraget