I-access ang iyong server terminal sa pamamagitan ng iyong web browser

Ipagpalagay natin na sa ilang kadahilanan hindi namin ma-access ang aming server sa isang terminal, dahil marahil, naglalakad kami sa kalye at nasa itaas lamang ang aming cell phone, at dahil hindi kami mga geek o anupaman, hindi kami naka-install ng anumang aplikasyon ng ang ganitong uri

Kung gayon ano ang gagawin natin? Sa gayon, wala, wala kaming magagawa hanggang sa makauwi kami o magtrabaho, ma-access ang aming server at mai-install shellinabox. Ngunit ano iyon, kumakain ka ba?

shellinabox

shellinabox nagpapatupad Isang server web na kaya i-export mga tool sa linya utos sa isang terminal emulator batay sa web. Ang emulator na ito naa-access ito mula sa anumang browser na sumusuporta JavaScript at CSS y hindi ito nangangailangan Walang klase isaksak karagdagang upang gumana.

Kahit na ang orihinal na proyekto ay hindi na ipinagpatuloy, may mga isang tinidor sa Github na nagbibigay-daan sa amin upang mai-install ito kung wala namin ito sa mga repository. Sa kaso ng Ubuntu 14.04 ito ay, kaya kailangan naming buksan ang isang terminal at ilagay:

$ sudo apt install shellinabox openssl ca-certificates

Sa kaso ng huling dalawang mga pakete, kung sakaling hindi pa namin nai-install ang mga ito. At kapag tapos na ito, maaari na nating ma-access ang aming terminal sa web sa pamamagitan ng paglalagay sa browser:

http://la_ip_o_nombre_del_servidor:4200

shellinabox

Gumamit ng Shellinabox sa pamamagitan ng port 80

Tulad ng nakikita mo, bilang default ang Shellinabox ay gumagamit ng port 4200 at maaaring hindi namin ma-access ito kung na-block ito ng aming service provider. Maaari kaming gumamit ng isang variant na hindi ligtas ngunit gumagana, na kung saan ay gamitin shellinabox Sa pamamagitan ng daungan 80, bagaman sa paglaon ay ipapakita ko kung paano gamitin ang 443 kung mayroon kaming magagamit na ito.

Ang gagawin namin ay i-access ang Shellinabox sa pamamagitan ng paglalagay sa aming browser:

http://la_ip_o_nombre_del_servidor/terminal

Upang gawin ito, ang unang bagay na ginagawa namin ay i-install ang NGinx:

$ sudo apt install nginx

Ngayon ay nilikha namin ang file / etc / nginx / sites-pinagana / shellinabox at inilagay namin ito sa loob:

 server {proxy_set_header Host $ 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; lokasyon / terminal / {proxy_pass http: // localhost: 4200 /; }}

Ina-edit namin ang file / etc / default / shellinabox at inilagay namin sa dulo:

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

Nag-reboot kami Nginx y shellinabox:

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

At handa na !!

Gumamit ng Shellinabox sa pamamagitan ng port 443

Ang prosesong ito ay medyo mas mahirap, dahil kailangan naming lumikha ng aming mga sertipiko ng SSL. Para sa mga ito gagawin namin ang mga sumusunod:

Una naming nai-install ang OpenSSL:

$ sudo apt-get install openssl

Lumilikha kami ng isang pribadong key:

openssl genrsa -out server.key 2024

Lumilikha kami ng base ng sertipiko, kung saan maglalagay kami ng isang serye ng data:

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

Ang data na pupunan namin ay:

  • Pangalan ng Bansa (2 titik code): Country code sa format na dalawang titik na ISO (hal: ES, US, CU, MX ..).
  • Pangalan ng Estado o Lalawigan (buong pangalan): Estado o lalawigan (hal: Florida).
  • Pangalan ng Lokal: Bayan o lungsod (hal: Miami).
  • Pangalan ng Organisasyon: Pangalan ng organisasyon, (hal: DesdeLinux).
  • Pangalan ng Yunit ng Organisasyon: Sektor ng samahan (hal: Mga Blog).
  • Karaniwang pangalan: Domain name o FQDN. Mahalagang malaman na may pagkakaiba sa pagitan ng isang blog.desdelinux.net at desdelinux.net. Dapat mong irehistro ang sertipiko para sa isa, o sa isa pa.
  • Email Address: Makipag-ugnay sa email address.
  • Isang hamon na password: Sa puti.
  • Isang opsyonal na pangalan ng kumpanya: Sa puti.

Bumubuo kami ngayon ng sertipiko ng SSL, na kukuha ng data na ipinasok namin:

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

Kinokopya namin ang mga sertipiko sa folder ng SSL sa loob / atbp:

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

Ini-edit namin muli ang file ng file / etc / default / shellinabox at binago namin ang inilagay namin, inilalagay sa dulo:

SHELLINABOX_ARGS="--no-beep"

Ngayon ay nai-edit namin ang file / etc / nginx / sites-pinagana / shellinabox at inilagay namin ito sa loob:

 server {makinig 80; ibalik ang 301 https: // $ host $ request_uri; } server {makinig 443; server_name myvps.com; ssl_certavale /etc/ssl/certs/ssl.crt; ssl_certavale_key /etc/ssl/certs/ssl.key; ssl on; ssl_session_cache builtin: 1000 na ibinahagi: SSL: 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers TAAS :! aNULL :! eNULL :! EXPORT :! CAMELLIA :! DES :! MD5 :! PSK :! RC4; ssl_prefer_server_ciphers on; access_log /var/log/nginx/shellinabox.access.log; lokasyon / terminal {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 $ scheme; # Ayusin ang error na "Lumilitaw na ang iyong pag-set up ng reverse proxy ay nasira" na error. Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }

I-restart namin ang mga serbisyo:

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

at ma-access natin

http://la_ip_o_nombre_del_servidor/terminal

na dapat i-redirect sa amin sa:

https://la_ip_o_nombre_del_servidor/terminal

At iyon lang.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   payaso dijo

    Ipinaalala nito sa akin ang lumalabas sa serye ng CSI

  2.   drassill dijo

    Isang pinaka-kagiliw-giliw na post; Hindi ko pa naririnig ang utility na ito at ang totoo ay ito ay pinaka-usyoso at kapaki-pakinabang ... Kailangan kong ipalagay na tulad ng konseptong ito na inilapat sa Ngix, maaari rin itong mailapat sa Apache, tama?

  3.   mat1986 dijo

    Pinapaalala nito sa akin kung paano gumagana ang Butterfly, lalo na kapag gumagamit ng terminal mula sa browser. Siyempre, hindi gaanong kumplikado sa ipinapakita nila dito 🙂

  4.   xykyz dijo

    «Ipagpalagay natin na para sa ilang kadahilanan hindi namin ma-access ang aming server sa isang terminal, dahil marahil, naglalakad kami sa kalye at nasa itaas lamang ang aming cell phone, at dahil hindi kami mga geek o anupaman, hindi kami naka-install ng anumang aplikasyon ng ganitong uri. "

    Paano namin nais na ipasok ang aming server kung hindi kami mga geeks? hahaha

    Tila sa akin mas mabilis na gumamit ng isang ssh app kaysa gumamit ng isang browser at maiwasan mong mag-install ng software sa server, ngunit ito ay isang nakawiwiling pagpipilian pa rin.

  5.   Wala naman dijo

    Advantage kapag nasa isang lugar ka na may purong Windows.

  6.   pangalan dijo

    "Advantage kapag nasa isang lugar ka na may purong Windows."
    entoses ……………… masilya o kitty.

  7.   Jose Manuel Higuera dijo

    mahusay na mga kalalakihan ito sobrang salamat sa kontribusyon