Pristupite poslužiteljskom terminalu putem svog web preglednika

Pretpostavimo da iz nekog razloga ne možemo pristupiti našem poslužitelju pomoću terminala, jer možda hodamo ulicom i na vrhu imamo samo svoj mobitel, a budući da nismo štreberi ili nešto slično, nismo instalirali nijednu aplikaciju ove vrste .

Što onda radimo? Pa, ništa, ne možemo ništa učiniti dok ne dođemo kući ili na posao, pristupimo našem poslužitelju i instaliramo shellinabox. Ali što je to, jedete li?

shellinabox

shellinabox provodi Poslužitelj web koji može izvoz linijski alati naredba do a terminalni emulator zasnovan na webu. Ovaj emulator je dostupan iz bilo kojeg preglednika koji podržava JavaScript i CSS y ne zahtijeva Nikakva uključiti dodatni za funkcioniranje.

Iako je izvorni projekt ukinut, postoje rašlje na Githubu koji nam omogućuje da ga instaliramo ako ga nemamo u spremištima. U slučaju Ubuntu 14.04 jest, tako da jednostavno moramo otvoriti terminal i staviti:

$ sudo apt install shellinabox openssl ca-certificates

U slučaju zadnja dva paketa, to je slučaj da ih već nismo instalirali. I nakon što se to učini, sada možemo pristupiti našem terminalu na webu umetanjem preglednika:

http://la_ip_o_nombre_del_servidor:4200

shellinabox

Upotrijebite Shellinabox kroz priključak 80

Kao što vidite, prema zadanim postavkama Shellinabox koristi port 4200 i možda mu nećemo moći pristupiti ako ga blokira naš davatelj usluga. Možemo koristiti varijantu koja nije sigurna, ali djeluje, a to je koristiti shellinabox Uz luku 80, iako ću kasnije pokazati kako se koristi 443 ako ga imamo na raspolaganju.

Ono što ćemo učiniti je pristupiti Shellinaboxu stavljajući u naš preglednik:

http://la_ip_o_nombre_del_servidor/terminal

Da bismo to učinili, prvo što je potrebno je instalirati NGinx:

$ sudo apt install nginx

Sada kreiramo datoteku / etc / nginx / sites-enabled / shellinabox i stavimo ga unutra:

 poslužitelj {proxy_set_header Host $ http_host; proxy_set_header X-Proslijeđeni-domaćin $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-Za $ proxy_add_x_forwarded_for; lokacija / terminal / {proxy_pass http: // localhost: 4200 /; }}

Uređujemo datoteku / etc / default / shellinabox i na kraju stavljamo:

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

Ponovo se pokrećemo Nginx y shellinabox:

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

I spremni !!

Upotrijebite Shellinabox kroz priključak 443

Ovaj je postupak malo glomazniji, jer moramo stvoriti naše SSL certifikate. Za to ćemo učiniti sljedeće:

Prvo instaliramo OpenSSL:

$ sudo apt-get install openssl

Izrađujemo privatni ključ:

openssl genrsa -out server.key 2024

Izrađujemo bazu certifikata, gdje ćemo staviti niz podataka:

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

Podaci koje ćemo popuniti bit će:

  • Naziv države (dvoslovni kod): Pozivni broj države u dvoslovnom ISO formatu (npr. ES, US, CU, MX ..).
  • Ime države ili provincije (puno ime): Država ili pokrajina (npr. Florida).
  • Naziv mjesta: Grad ili grad (npr. Miami).
  • Naziv organizacije: Nombre de la organización, (ej: DesdeLinux).
  • Naziv organizacijske jedinice: Organizacijski sektor (npr. Blogovi).
  • Uobičajeno ime: 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.
  • Email adresa: Adresa e-pošte za kontakt.
  • Zaporka izazova: U bijeloj boji.
  • Izborni naziv tvrtke: U bijeloj boji.

Sada generiramo SSL certifikat koji će uzeti podatke koje smo unijeli:

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

Kopiramo certifikate u SSL mapu unutar / etc:

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

Ponovno uređujemo datoteku / etc / default / shellinabox i mijenjamo ono što smo stavili, stavljajući na kraju:

SHELLINABOX_ARGS="--no-beep"

Sada uređujemo datoteku / etc / nginx / sites-enabled / shellinabox i stavimo ga unutra:

 poslužitelj {preslušaj 80; return 301 https: // $ host $ request_uri; } poslužitelj {slušati 443; ime_poslužitelja myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl na; ssl_session_cache izgrađen: 1000 podijeljeno: SSL: 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH :! aNULL :! eNULL :! EXPORT :! CAMELLIA :! DES :! MD5 :! PSK :! RC4; ssl_prefer_server_ciphers uključen; access_log /var/log/nginx/shellinabox.access.log; lokacija / terminal {proxy_set_header Host $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-Za $ proxy_add_x_forwarded_for; proxy_set_header X-Proslijeđena-Proto $ shema; # Ispravite pogrešku "Čini se da je postavka vašeg obrnutog proxyja pokvarena". Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }

Ponovno pokrećemo usluge:

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

i pristupamo

http://la_ip_o_nombre_del_servidor/terminal

što bi nas trebalo preusmjeriti na:

https://la_ip_o_nombre_del_servidor/terminal

I to je sve.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   klaun dijo

    Podsjetio me na ono što izlazi u CSI seriji

  2.   drasila dijo

    Najzanimljiviji post; Nikad nisam čuo za ovaj uslužni program, a istina je da je najzanimljiviji i najkorisniji ... Moram pretpostaviti da kao što se ovaj koncept primijenio na Ngix, može se primijeniti i na Apache, zar ne?

  3.   mat1986 dijo

    Podsjeća me na to kako Butterfly radi, posebno kada koristim terminal iz preglednika. Naravno, ne s toliko složenosti koliko ovo što ovdje pokazuju 🙂

  4.   xykyz dijo

    «Pretpostavit ćemo da iz nekog razloga ne možemo pristupiti našem poslužitelju pomoću terminala, jer možda hodamo ulicom i imamo samo svoj mobitel na vrhu, a budući da nismo štreberi ili nešto slično, nismo instalirali bilo koja aplikacija ove vrste. "

    Kako ćemo htjeti ući na naš poslužitelj ako nismo štreberi? hahaha

    Smatram da je mnogo brže koristiti ssh aplikaciju nego koristiti preglednik i izbjegavate instalirati softver na poslužitelj, ali svejedno je zanimljiva opcija.

  5.   neex dijo

    Prednost kada ste na mjestu s čistim Windowsima.

  6.   ime dijo

    "Prednost kada ste na mjestu s čistim Windowsima."
    uvlači ……………… kit ili mačkicu.

  7.   Jose Manuel Higuera dijo

    izvrsni muškarci ovo super hvala na doprinosu