Predpostavimo, da iz nekega razloga do strežnika ne moremo dostopati s terminalom, ker morda hodimo po ulici in imamo zgolj svoj mobilni telefon, in ker nismo geeki ali kaj podobnega, nismo namestili nobene aplikacije ta tip.
Kaj potem storimo? No, nič, ničesar ne moremo storiti, dokler ne pridemo domov ali na delo, dostopamo do strežnika in namestimo shellinabox. Kaj pa je to, ali jeste?
shellinabox
shellinabox izvaja Strežnik splet, ki lahko izvoz linijska orodja ukaz ima a terminalski emulator spletno. Ta emulator dostopna je iz katerega koli brskalnika, ki podpira JavaScript in CSS y ne zahteva Nobene vrste vključiti dodatno za delovanje.
Čeprav je bil prvotni projekt ukinjen, obstajajo vilice na Githubu ki nam omogoča, da ga namestimo, če ga nimamo v skladiščih. V primeru Ubuntu 14.04 je, zato moramo le odpreti terminal in postaviti:
$ sudo apt install shellinabox openssl ca-certificates
V primeru zadnjih dveh paketov je v primeru, da jih še nimamo nameščenih. In ko je to končano, lahko zdaj dostopamo do našega terminala v spletu, tako da vstavimo v brskalnik:
http://la_ip_o_nombre_del_servidor:4200
Uporabite Shellinabox skozi vrata 80
Kot lahko vidite, Shellinabox privzeto uporablja vrata 4200 in do njega morda ne bomo mogli dostopati, če ga blokira naš ponudnik storitev. Lahko uporabimo različico, ki ni varna, vendar deluje, to je za uporabo shellinabox Ob pristanišču 80, čeprav bom kasneje pokazal, kako uporabljati 443 če ga imamo na voljo.
Kar bomo storili, je, da v naš brskalnik vstopimo v Shellinabox:
http://la_ip_o_nombre_del_servidor/terminal
Za to najprej najprej namestimo NGinx:
$ sudo apt install nginx
Zdaj ustvarimo datoteko / etc / nginx / sites-enabled / shellinabox in ga vstavimo notri:
strežnik {proxy_set_header Gostitelj $ 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; lokacija / terminal / {proxy_pass http: // localhost: 4200 /; }}
Datoteko uredimo / etc / default / shellinabox in na koncu postavimo:
SHELLINABOX_ARGS="--localhost-only --disable-ssl"
Znova zaženemo Nginx y shellinabox:
$ sudo /etc/init.d/shellinabox ponovni zagon $ sudo /etc/init.d/nginx ponovni zagon
In pripravljen !!
Uporabite Shellinabox skozi vrata 443
Ta postopek je nekoliko bolj okoren, ker moramo ustvariti svoja potrdila SSL. Za to bomo storili naslednje:
Najprej namestimo OpenSSL:
$ sudo apt-get install openssl
Ustvarimo zasebni ključ:
openssl genrsa -out server.key 2024
Ustvarimo osnovo certifikata, kamor bomo vnesli vrsto podatkov:
openssl req -new -key server.key -out server.csr
Podatki, ki jih bomo izpolnili, bodo:
- Ime države (dvočrkovna koda): Koda države v dvočrkovni obliki ISO (npr. ES, ZDA, CU, MX ..).
- Ime države ali province (polno ime): Država ali provinca (npr. Florida).
- Ime kraja: Mesto ali mesto (npr. Miami).
- Ime organizacije: Ime organizacije (npr. DesdeLinux).
- Ime organizacijske enote: Sektor organizacije (npr. Blogi).
- Pogosto ime: Ime domene ali FQDN. Pomembno je vedeti, da obstaja razlika med blogom.desdelinux.net in desdelinux.mreža. Registrirati morate potrdilo za eno ali drugo.
- Email naslov: Kontaktni e-naslov.
- Geslo za izziv: V beli barvi.
- Izbirno ime podjetja: V beli barvi.
Zdaj ustvarimo potrdilo SSL, ki bo zajemalo podatke, ki smo jih vnesli:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Potrdila kopiramo v mapo SSL znotraj / etc:
$ sudo cp server.crt /etc/ssl/certs/ssl.crt $ sudo cp server.key /etc/ssl/certs/ssl.key
Datoteko znova uredimo / etc / default / shellinabox in spremenimo tisto, kar smo dali, na koncu:
SHELLINABOX_ARGS="--no-beep"
Zdaj uredimo datoteko / etc / nginx / sites-enabled / shellinabox in ga vstavimo notri:
strežnik {poslušaj 80; vrni 301 https: // $ host $ request_uri; } strežnik {poslušaj 443; ime strežnika myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl vklopljen; ssl_session_cache vgrajeno: 1000 v skupni rabi: SSL: 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH :! aNULL :! eNULL :! EXPORT :! CAMELLIA :! DES :! MD5 :! PSK :! RC4; ssl_prefer_server_ciphers vklopljen; dostop_log /var/log/nginx/shellinabox.access.log; lokacija / terminal {proxy_set_header Gostitelj $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header shema X-Forwarded-Proto $; # Odpravite napako »Zdi se, da je nastavitev vašega obratnega proxyja pokvarjena«. Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }
Storitve znova zaženemo:
$ sudo /etc/init.d/shellinabox ponovni zagon $ sudo /etc/init.d/nginx ponovni zagon
in dostopamo
http://la_ip_o_nombre_del_servidor/terminal
ki bi nas morali preusmeriti na:
https://la_ip_o_nombre_del_servidor/terminal
In to je vse.
Spomnil me je na tisto, kar izide v seriji CSI
Najbolj zanimiva objava; Nikoli še nisem slišal za to pripomoček in resnica je, da je najbolj radoveden in uporaben ... Moram domnevati, da tako kot ta koncept velja za Ngix, ga lahko uporabimo tudi za Apache, kajne?
Spominja me na to, kako deluje Butterfly, še posebej pri uporabi terminala iz brskalnika. Seveda ne s takšno zapletenostjo, kot to, kar kažejo tukaj 🙂
«Predpostavimo, da iz nekega razloga do strežnika ne moremo dostopati s terminalom, ker morda hodimo po ulici in imamo zgolj svoj mobilni telefon in ker nismo geeki ali kaj podobnega, nismo namestili nobene aplikacije te vrste. "
Kako bomo želeli vstopiti v naš strežnik, če nismo geeki? hahaha
Zdi se mi veliko hitreje, da uporabljam ssh aplikacijo kot brskalnik in se izogibam nameščanju programske opreme na strežnik, vendar je vseeno zanimiva možnost.
Prednost, ko ste na mestu s čistim sistemom Windows.
"Prednost, ko ste na mestu s čistim sistemom Windows."
vabi ……………… kit ali muco.
odlični moški to super hvala za prispevek