Låt oss anta att vi av någon anledning inte kan komma åt vår server med en terminal, för kanske går vi ner på gatan och vi har bara vår mobiltelefon ovanpå, och eftersom vi inte är nördar eller något har vi inte installerat någon applikation av denna typ .
Vad gör vi då? Tja, ingenting, vi kan inte göra någonting förrän vi kommer hem eller jobbar, får åtkomst till vår server och installerar shellinabox. Men vad är det, äter du?
shellinabox
shellinabox redskap En server webb som kan export linjeverktyg kommando till a terminalemulator webbaserat. Denna emulator är tillgänglig från alla webbläsare som stöder JavaScript och CSS y kräver inte ingen typ av plugin ytterligare för att fungera.
Även om det ursprungliga projektet avbröts, finns det en gaffel på Github det gör att vi kan installera det om vi inte har det i förvaret. I fallet med Ubuntu 14.04 är det, så vi måste bara öppna en terminal och sätta:
$ sudo apt install shellinabox openssl ca-certificates
När det gäller de två sista paketen är det om vi inte redan har dem installerade. Och när detta är gjort kan vi nu komma åt vår terminal på webben genom att sätta i webbläsaren:
http://la_ip_o_nombre_del_servidor:4200
Använd Shellinabox genom port 80
Som du ser använder Shellinabox porten som standard 4200 och vi kanske inte kommer åt den om den blockeras av vår tjänsteleverantör. Vi kan använda en variant som är osäker men fungerar, vilken är att använda shellinabox Vid hamnen 80, även om jag senare kommer att visa hur man använder 443 om vi har det tillgängligt.
Vad vi kommer att göra är att komma åt Shellinabox genom att sätta i vår webbläsare:
http://la_ip_o_nombre_del_servidor/terminal
För att göra detta är det första vi gör att installera NGinx:
$ sudo apt install nginx
Nu skapar vi filen / etc / nginx / sites-enabled / shellinabox och vi lägger in det:
server {proxy_set_header Värd $ http_host; proxy_set_header X-vidarebefordrad värd $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Vidarebefordras-För $ proxy_add_x_forwarded_for; plats / terminal / {proxy_pass http: // localhost: 4200 /; }}
Vi redigerar filen / etc / default / shellinabox och vi satte i slutet:
SHELLINABOX_ARGS="--localhost-only --disable-ssl"
Vi startar om Nginx y shellinabox:
$ sudo /etc/init.d/shellinabox starta om $ sudo /etc/init.d/nginx starta om
Och redo !!
Använd Shellinabox genom port 443
Denna process är lite mer besvärlig eftersom vi måste skapa våra SSL-certifikat. För detta kommer vi att göra följande:
Först installerar vi OpenSSL:
$ sudo apt-get installera openssl
Vi skapar en privat nyckel:
openssl genrsa -out server.key 2024
Vi skapar basen för certifikatet, där vi kommer att lägga en serie data:
openssl req -new -key server.key -out server.csr
Uppgifterna som vi fyller i kommer att vara:
- Landsnamn (kod med två bokstäver): Landskod i två bokstäver ISO-format (t.ex. ES, US, CU, MX ..).
- Statens eller provinsens namn (fullständigt namn): Stat eller provins (ex: Florida).
- Ortnamn: Stad eller stad (ex: Miami).
- Organisations namn: Organisationens namn, (ex: DesdeLinux).
- Organisationsenhetsnamn: Organisationssektor (ex: Bloggar).
- Vanligt namn: Domännamn eller FQDN. Det är viktigt att veta att det är skillnad på en blogg.desdelinux.net och desdelinux.netto. Du måste registrera certifikatet för det ena eller det andra.
- E-postadress: Kontakta e-postadress.
- Ett utmaningslösenord: I vitt.
- Ett valfritt företagsnamn: I vitt.
Nu genererar vi SSL-certifikatet, vilket tar de uppgifter vi angav:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Vi kopierar certifikaten till SSL-mappen inuti / etc:
$ sudo cp server.crt /etc/ssl/certs/ssl.crt $ sudo cp server.key /etc/ssl/certs/ssl.key
Vi redigerar filen igen filen / etc / default / shellinabox och vi ändrar vad vi hade lagt och satt i slutet:
SHELLINABOX_ARGS="--no-beep"
Nu redigerar vi filen / etc / nginx / sites-enabled / shellinabox och vi lägger in det:
server {lyssna 80; returnera 301 https: // $ host $ request_uri; } server {lyssna 443; servernamn myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl på; ssl_session_cache inbyggd: 1000 delad: SSL: 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH :! aNULL :! eNULL :! EXPORT :! CAMELLIA :! DES :! MD5 :! PSK :! RC4; ssl_prefer_server_ciphers on; access_log /var/log/nginx/shellinabox.access.log; plats / terminal {proxy_set_header Host $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Vidarebefordras-För $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $ -schema; # Fixa "Det verkar som att din omvända proxyinställning är trasig". Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }
Vi startar om tjänsterna:
$ sudo /etc/init.d/shellinabox starta om $ sudo /etc/init.d/nginx starta om
och vi kommer åt
http://la_ip_o_nombre_del_servidor/terminal
som borde omdirigera oss till:
https://la_ip_o_nombre_del_servidor/terminal
Och det är allt.
Det påminde mig om vad som kommer ut i CSI-serien
Ett mycket intressant inlägg; Jag hade aldrig hört talas om det här verktyget och sanningen är att det är mest nyfiken och användbart ... Jag måste anta att precis som detta koncept har tillämpats på Ngix, kan det också tillämpas på Apache, eller hur?
Det påminner mig om hur Butterfly fungerar, särskilt när man använder terminalen från webbläsaren. Naturligtvis inte med så mycket komplexitet som vad de visar här 🙂
«Låt oss anta att vi av någon anledning inte kan komma åt vår server med en terminal, för kanske går vi ner på gatan och vi har bara vår mobiltelefon på toppen, och eftersom vi inte är nördar eller något har vi inte installerat någon applikation av typ."
Hur ska vi vilja komma in på vår server om vi inte är nördar? hahaha
Det verkar för mig mycket snabbare att använda en ssh-app än att använda en webbläsare och du undviker att installera programvara på servern, men det är fortfarande ett intressant alternativ.
Fördel när du är på en plats med rena Windows.
"Fördel när du är på en plats med rena Windows."
entoser ……………… kitt eller kattunge.
utmärkta män här super tack för bidraget