Pristupite svom serverskom terminalu putem vašeg web pregledača

Pretpostavimo da iz nekog razloga ne možemo pristupiti našem serveru 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 .

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

shellinabox

shellinabox implementira Server web koji može izvoz linijski alati naredba na a terminal emulator zasnovan na Internetu. Ovaj emulator dostupan mu je iz bilo kojeg preglednika koji podržava JavaScript i CSS y to ne zahtijeva Nikakve plugin dodatni za funkciju.

Iako je originalni projekt prekinut, postoje vilica na Githubu to nam omogućava da ga instaliramo ako ga nemamo u spremištima. U slučaju Ubuntu 14.04 jeste, tako da moramo otvoriti terminal i staviti:

$ sudo apt install shellinabox openssl ca-certificates

U slučaju posljednja 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 Internetu umetanjem pretraživača:

http://la_ip_o_nombre_del_servidor:4200

shellinabox

Koristite Shellinabox kroz priključak 80

Kao što vidite, Shellinabox po defaultu koristi port 4200 i možda mu nećemo moći pristupiti ako ga blokira naš dobavljač usluga. Možemo koristiti varijantu koja nije sigurna, ali djeluje, odnosno koristiti shellinabox Pored luke 80, iako ću kasnije pokazati kako se koristi 443 ako ga imamo na raspolaganju.

Ono što ćemo učiniti je pristupiti Shellinaboxu stavljanjem u naš pretraživač:

http://la_ip_o_nombre_del_servidor/terminal

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

$ sudo apt install nginx

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

 server {proxy_set_header Host $ http_host; proxy_set_header X-Proslijeđeni-Host $ 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 /; }}

Mi 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 spreman !!

Koristite Shellinabox kroz priključak 443

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

Prvo instaliramo OpenSSL:

$ sudo apt-get install openssl

Kreiramo 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).
  • Ime organizacije: Naziv organizacije, (npr. DesdeLinux).
  • Naziv organizacione jedinice: Organizacijski sektor (npr. Blogovi).
  • Ime: Ime domene ili FQDN. Važno je znati da postoji razlika između bloga.desdelinux.net i desdelinux.net. Morate registrirati certifikat za jedno ili drugo.
  • E-mail adresa: Kontakt e-mail adresu.
  • Lozinka izazova: U bijelom.
  • Neobavezno ime kompanije: U bijelom.

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

Ponovo 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 stavljamo ga unutra:

 server {slušati 80; return 301 https: // $ host $ request_uri; } server {slušati 443; ime_poslužitelja myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl on; 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-prosljeđena-proto $ šema; # Ispravite greš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/;} }

Ponovo pokrećemo usluge:

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

i mi 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 komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   klaun rekao je

    Podsjetio me na ono što izlazi u CSI seriji

  2.   drassill rekao je

    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 rekao je

    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 rekao je

    «Pretpostavimo da iz nekog razloga ne možemo pristupiti našem serveru 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 nijednu aplikaciju ovog tip. "

    Kako ćemo htjeti ući na naš server ako nismo štreberi? hahaha

    Čini mi se da je mnogo brže koristiti ssh aplikaciju nego pretraživač i izbjegavate instalirati softver na server, ali to je i dalje zanimljiva opcija.

  5.   nonex rekao je

    Prednost kada ste na mjestu s čistim Windowsima.

  6.   ime rekao je

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

  7.   Jose Manuel Higuera rekao je

    izvrsni muškarci, ovo super hvala na doprinosu