Predpokladajme, že z nejakého dôvodu nemôžeme na náš server pristupovať pomocou terminálu, pretože asi kráčame po ulici a na vrchole máme iba svoj mobilný telefón, a keďže nie sme geekovia ani nič, nenainštalovali sme žiadnu aplikáciu tento typ.
Čo potom urobíme? No, nič, nemôžeme nič robiť, kým sa nedostaneme domov alebo do práce, nepristúpime na náš server a nenainštalujeme shellinabox. Ale čo to je, jesť?
shellinabox
shellinabox náradie Server web, ktorý môže export riadkové nástroje príkaz má a emulátor terminálu webový. Tento emulátor je prístupný z ľubovoľného prehľadávača, ktorý podporuje JavaScript a CSS y nevyžaduje žiadny druh zapojiť doplnkové k funkcii.
Aj keď pôvodný projekt bol prerušený, existujú vidlička na Githube to nám umožňuje nainštalovať si ho, ak ho nemáme v úložiskách. V prípade Ubuntu 14.04 to je, takže musíme otvoriť terminál a dať:
$ sudo apt install shellinabox openssl ca-certificates
V prípade posledných dvoch balíkov je to pre prípad, že ich ešte nemáme nainštalované. Akonáhle je to hotové, môžeme teraz vstúpiť do nášho terminálu na webe vložením prehliadača:
http://la_ip_o_nombre_del_servidor:4200
Použite Shellinabox cez port 80
Ako vidíte, predvolene Shellinabox používa port 4200 a možno k nej nebudeme mať prístup, ak je zablokovaná našim poskytovateľom služieb. Môžeme použiť variant, ktorý je nebezpečný, ale funguje, čo je použiť shellinabox Pri prístave 80, aj keď neskôr ukážem, ako používať 443 ak ju máme k dispozícii.
Čo urobíme, je prístup do Shellinaboxu vložením do nášho prehliadača:
http://la_ip_o_nombre_del_servidor/terminal
Prvá vec, ktorú urobíme, je inštalácia NGinx:
$ sudo apt install nginx
Teraz vytvoríme súbor / etc / nginx / sites-enabled / shellinabox a vložíme to dovnútra:
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; umiestnenie / terminál / {proxy_pass http: // localhost: 4200 /; }}
Upravujeme súbor / etc / default / shellinabox a dáme na koniec:
SHELLINABOX_ARGS="--localhost-only --disable-ssl"
Reštartujeme Nginx y shellinabox:
$ sudo /etc/init.d/shellinabox reštart $ sudo /etc/init.d/nginx reštart
A pripravený !!
Použite Shellinabox cez port 443
Tento proces je o niečo ťažkopádnejší, pretože musíme vytvárať naše certifikáty SSL. Za týmto účelom urobíme nasledovné:
Najskôr nainštalujeme OpenSSL:
$ sudo apt-get install openssl
Vytvárame súkromný kľúč:
openssl genrsa -out server.key 2024
Vytvoríme základňu certifikátu, do ktorej vložíme sériu údajov:
openssl req -new -key server.key -out server.csr
Údaje, ktoré vyplníme, budú:
- Názov krajiny (dvojpísmenový kód): Kód krajiny v dvojpísmenovom formáte ISO (napr. ES, US, CU, MX ..).
- Názov štátu alebo provincie (celé meno): Štát alebo provincia (napr. Florida).
- Názov lokality: Mesto (napr. Miami).
- Názov organizácie: Názov organizácie (napr. DesdeLinux).
- Názov organizačnej jednotky: Sektor organizácie (napr. Blogy).
- Spoločný názov: Názov domény alebo FQDN. Je dôležité vedieť, že medzi blogom je rozdiel.desdelinux.net a desdelinux.net. Musíte zaregistrovať certifikát pre jeden alebo druhý.
- E-mailová adresa: Kontaktná emailová adresa.
- Vyzývacie heslo: V bielej farbe.
- Voliteľný názov spoločnosti: V bielej farbe.
Teraz vygenerujeme certifikát SSL, ktorý prevezme údaje, ktoré sme zadali:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Skopírujeme certifikáty do priečinka SSL vo vnútri / etc:
$ sudo cp server.crt /etc/ssl/certs/ssl.crt $ sudo cp server.key /etc/ssl/certs/ssl.key
Súbor znova upravíme / etc / default / shellinabox a zmeníme to, čo sme vložili, a uvedieme to na koniec:
SHELLINABOX_ARGS="--no-beep"
Teraz súbor upravíme / etc / nginx / sites-enabled / shellinabox a vložíme to dovnútra:
server {počúvať 80; návrat 301 https: // $ host $ request_uri; } server {posluch 443; názov_serveru myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl ďalej; zabudovaná ssl_session_cache: 1000 10 zdieľaná: SSL: 1 m; ssl_protocols TLSv1.1 TLSv1.2 TLSv5; ssl_ciphers VYSOKÉ :! aNULL :! eNULL :! EXPORT :! CAMELLIA :! DES :! MD4 :! PSK :! RC4200; ssl_prefer_server_ciphers zapnutý; access_log /var/log/nginx/shellinabox.access.log; umiestnenie / terminál {proxy_set_header hostiteľ $ hostiteľ; 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 $ schéma; # Opravte chybu „Zdá sa, že vaše reverzné nastavenie proxy servera je poškodené“. Proxy_pass http: // localhost: 90 /; proxy_read_timeout 4200; proxy_redirect http: // localhost: XNUMX https://myvps.com/terminal/;} }
Reštartujeme služby:
$ sudo /etc/init.d/shellinabox reštart $ sudo /etc/init.d/nginx reštart
a máme prístup
http://la_ip_o_nombre_del_servidor/terminal
ktoré by nás mali presmerovať na:
https://la_ip_o_nombre_del_servidor/terminal
A to je všetko.
Pripomenulo mi to, čo vychádza v sérii CSI
Najzaujímavejší príspevok; Nikdy som o tejto utilite nepočul a pravdou je, že je najkurióznejšia a najužitočnejšia ... Musím predpokladať, že tak ako sa tento koncept aplikoval na Ngix, dá sa použiť aj na Apache, že?
Pripomína mi to, ako funguje Butterfly, najmä pri používaní terminálu z prehľadávača. Samozrejme, nie s takou zložitosťou, ako to, čo tu ukazujú 🙂
«Predpokladajme, že z nejakého dôvodu nemôžeme na náš server pristupovať pomocou terminálu, pretože možno kráčame po ulici a na vrchole máme iba svoj mobilný telefón, a keďže nie sme geekovia ani nič, nenainštalovali sme žiadnu aplikáciu tohto typu. ““
Ako budeme chcieť vstúpiť na náš server, ak nie sme geekmi? hahaha
Zdá sa mi oveľa rýchlejšie používať ssh aplikáciu ako prehliadač a vyhnete sa inštalácii softvéru na server, ale stále je to zaujímavá možnosť.
Výhoda, keď ste na mieste s čistým Windows.
„Výhoda, keď ste na mieste s čistým Windows.“
predstavuje ……………… tmel alebo mačičku.
vynikajúci muži táto super vďaka za príspevok