Pasiekite savo serverio terminalą naudodami žiniatinklio naršyklę

Tarkime, kad dėl kažkokių priežasčių negalime prieiti prie savo serverio naudodami terminalą, nes galbūt einame gatve ir viršuje turime tik savo mobilųjį telefoną, o kadangi mes nesame geekai ar pan., Mes neįdiegėme jokios programos šio tipo.

Tada ką mes darome? Na, nieko, mes negalime nieko padaryti, kol negrįšime namo ar į darbą, neprisijungsime prie savo serverio ir neįdiegsime „Shellinabox“. Bet kas tai, ar tu valgai?

„Shellinabox“

„Shellinabox“ padargai Serveris žiniatinklis, kuris gali eksportuoti linijiniai įrankiai komandą į terminalo emuliatorius žiniatinklio pagrindu. Šis emuliatorius yra pasiekiamas iš bet kurios palaikančios naršyklės JavaScript ir CSS y tai nereikalauja Jokio prijungti papildomai veikti.

Nors pradinis projektas buvo nutrauktas, jų yra šakutė ant Githubo tai leidžia mums ją įdiegti, jei jos neturime saugyklose. „Ubuntu 14.04“ atveju tai yra, todėl mes tiesiog turime atidaryti terminalą ir įdėti:

$ sudo apt install shellinabox openssl ca-certificates

Pastarųjų dviejų paketų atveju, jei mes jų dar neturime įdiegę. Kai tai bus padaryta, mes dabar galėsime pasiekti savo terminalą žiniatinklyje, įdėdami naršyklę:

http://la_ip_o_nombre_del_servidor:4200

„Shellinabox“

Naudokite „Shellinabox“ per 80 prievadą

Kaip matote, pagal numatytuosius nustatymus „Shellinabox“ naudoja uostą 4200 ir mums gali nepavykti prie jos prisijungti, jei ją blokuoja mūsų paslaugų teikėjas. Galime naudoti nesaugų, bet veikiantį variantą „Shellinabox“ Prie uosto 80, nors vėliau parodysiu, kaip naudotis 443 jei turime.

Ką mes padarysime, tai prieigą prie „Shellinabox“, įdėdami savo naršyklę:

http://la_ip_o_nombre_del_servidor/terminal

Norėdami tai padaryti, pirmiausia turime įdiegti „NGinx“:

$ sudo apt install nginx

Dabar mes kuriame failą / etc / nginx / sites-enabled / shellinabox ir mes jį įdėjome:

 serveris {proxy_set_header Pagrindinis $ 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; vieta / terminalas / {proxy_pass http: // localhost: 4200 /; }}

Redaguojame failą / etc / default / shellinabox ir mes įtraukėme į pabaigą:

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

Perkrauname Nginx y „Shellinabox“:

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

Ir pasiruošę !!

Naudokite „Shellinabox“ per 443 prievadą

Šis procesas yra šiek tiek sudėtingesnis, nes turime sukurti savo SSL sertifikatus. Tam atliksime šiuos veiksmus:

Pirmiausia įdiegiame „OpenSSL“:

$ sudo apt-get install openssl

Mes kuriame privatų raktą:

openssl genrsa -out server.key 2024

Sukuriame sertifikato pagrindą, kuriame įdėsime daugybę duomenų:

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

Duomenys, kuriuos užpildysime, bus:

  • Šalies pavadinimas (2 raidžių kodas): Šalies kodas dviejų raidžių ISO formatu (pvz .: ES, JAV, CU, MX ..).
  • Valstijos arba provincijos pavadinimas (vardas): Valstija arba provincija (pvz .: Florida).
  • Vietovės pavadinimas: Miestelis (pvz .: Majamis).
  • Organizacijos pavadinimas: Organizacijos pavadinimas (pvz. DesdeLinux).
  • Organizacijos padalinio pavadinimas: Organizacijos sektorius (pvz .: Dienoraščiai).
  • Dažnas vardas: Domeno vardas arba FQDN. Svarbu žinoti, kad tinklaraštis skiriasi.desdelinux.net ir desdelinux.net. Turite užregistruoti sertifikatą vienam ar kitam.
  • Elektroninio pašto adresas: Kontaktinis elektroninio pašto adresas.
  • Iššūkio slaptažodis: Baltai.
  • Neprivalomas įmonės pavadinimas: Baltai.

Dabar mes sukuriame SSL sertifikatą, kuris paims įvestus duomenis:

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

Mes nukopijuojame sertifikatus į SSL aplanką / etc:

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

Redaguojame failą dar kartą failą / etc / default / shellinabox ir mes keičiame tai, ką įdėjome, uždėdami pabaigą:

SHELLINABOX_ARGS="--no-beep"

Dabar mes redaguojame failą / etc / nginx / sites-enabled / shellinabox ir mes jį įdėjome:

 serveris {klausyti 80; grąžinti 301 https: // $ host $ request_uri; } serveris {klausyti 443; serverio vardas myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl įjungtas; pastatytas ssl_session_cache: 1000 bendrinamas: SSL: 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; „ssl_ciphers HIGH“: „aNULL“: „eNULL“: „EXPORT“: „CAMELLIA“: „DES“: „MD5“: „PSK“: „RC4“; ssl_prefer_server_ciphers įjungti; access_log /var/log/nginx/shellinabox.access.log; vieta / terminalas {proxy_set_header Host $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; „proxy_set_header“ X-Forwarded-Proto $ schema; # Ištaisykite klaidą „Panašu, kad jūsų atvirkštinio tarpinio serverio nustatymas neveikia“. „Proxy_pass“ http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }

Paleidžiame iš naujo paslaugas:

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

ir mes prieiname

http://la_ip_o_nombre_del_servidor/terminal

kuris turėtų mus nukreipti į:

https://la_ip_o_nombre_del_servidor/terminal

Ir viskas.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   klounas sakė

    Tai man priminė tai, kas išeina iš CSI serijos

  2.   Drassillas sakė

    Įdomiausias įrašas; Niekada nebuvau girdėjęs apie šį įrankį ir tiesa ta, kad jis yra pats įdomiausias ir naudingiausias ... Turiu manyti, kad kaip ši koncepcija buvo pritaikyta „Ngix“, taip pat ją galima pritaikyti ir „Apache“, tiesa?

  3.   mat1986 sakė

    Tai man primena, kaip veikia „Butterfly“, ypač naudojant terminalą iš naršyklės. Žinoma, ne taip kompleksiškai, kaip čia jie rodo 🙂

  4.   xykyz sakė

    «Mes manysime, kad dėl kažkokių priežasčių negalime prisijungti prie savo serverio naudodamiesi terminalu, nes galbūt einame gatve ir viršuje turime tik savo mobilųjį telefoną, o kadangi mes nesame geekai ar pan. įdiegė bet kurią tokio tipo programą ".

    Kaip norėsime įvesti savo serverį, jei nesame geekai? hahaha

    Man atrodo daug greičiau naudoti ssh programą nei naršyklę ir jūs vengiate įdiegti programinę įrangą serveryje, tačiau tai vis tiek yra įdomi galimybė.

  5.   nonex sakė

    Pranašumas, kai esate vietoje su grynu „Windows“.

  6.   Vardas sakė

    „Pranašumas, kai esate vietoje su grynu„ Windows “.
    vilioja ……………… glaistą ar kačiuką.

  7.   Chosė Manuelis Higuera sakė

    puikūs vyrai, šis ačiū už indėlį