La oss anta at vi av en eller annen grunn ikke får tilgang til serveren vår med en terminal, for kanskje vi går nedover gaten, og vi har bare mobiltelefonen vår på toppen, og siden vi ikke er geeker eller noe, har vi ikke installert noen applikasjoner av denne typen .
Så hva gjør vi? Vel, ingenting, vi kan ikke gjøre noe før vi kommer hjem eller jobber, får tilgang til serveren vår og installerer shellinabox. Men hva er det, spiser du?
shellinabox
shellinabox redskaper En server nett som kan eksport linjeverktøy kommando til a terminalemulator nettbasert. Denne emulatoren den er tilgjengelig fra hvilken som helst nettleser som støtter Javascript og CSS y det krever ikke Ingen slags plugg inn tillegg til funksjon.
Selv om det opprinnelige prosjektet ble avviklet, er det det en gaffel på Github som lar oss installere det hvis vi ikke har det i depotene. I tilfelle Ubuntu 14.04 er det, så vi må bare åpne en terminal og sette:
$ sudo apt install shellinabox openssl ca-certificates
Når det gjelder de to siste pakkene, er det i tilfelle vi ikke allerede har dem installert. Og når dette er gjort, kan vi nå få tilgang til terminalen vår på nettet ved å sette i nettleseren:
http://la_ip_o_nombre_del_servidor:4200
Bruk Shellinabox gjennom port 80
Som du ser, bruker Shellinabox som standard porten 4200 og vi kan ikke få tilgang til den hvis den er blokkert av tjenesteleverandøren. Vi kan bruke en variant som er usikker, men som fungerer, som er å bruke shellinabox Ved havnen 80, selv om jeg senere vil vise hvordan jeg bruker 443 hvis vi har det tilgjengelig.
Det vi skal gjøre er å få tilgang til Shellinabox ved å legge inn nettleseren vår:
http://la_ip_o_nombre_del_servidor/terminal
For å gjøre dette er det første vi installerer NGinx:
$ sudo apt install nginx
Nå oppretter vi filen / etc / nginx / sites-enabled / shellinabox og vi setter den inne:
server {proxy_set_header Host $ http_host; proxy_set_header X-Videresendt-vert $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Videresendt-For $ proxy_add_x_forwarded_for; plassering / terminal / {proxy_pass http: // localhost: 4200 /; }}
Vi redigerer filen / etc / default / shellinabox og vi la til slutt:
SHELLINABOX_ARGS="--localhost-only --disable-ssl"
Vi starter på nytt Nginx y shellinabox:
$ sudo /etc/init.d/shellinabox start på nytt $ sudo /etc/init.d/nginx restart
Og klar !!
Bruk Shellinabox gjennom port 443
Denne prosessen er litt mer tungvint, fordi vi må lage SSL-sertifikatene våre. For dette vil vi gjøre følgende:
Først installerer vi OpenSSL:
$ sudo apt-get install openssl
Vi lager en privat nøkkel:
openssl genrsa -out server.key 2024
Vi lager basen til sertifikatet, hvor vi vil legge en serie med data:
openssl req -new -key server.key -out server.csr
Dataene vi skal fylle ut vil være:
- Landets navn (kode med to bokstaver): Landskode i ISO-format på to bokstaver (f.eks. ES, US, CU, MX ..).
- Navn på stat eller provins (fullt navn): Stat eller provins (eks: Florida).
- Stedets navn: By eller by (eks: Miami).
- Organisasjonsnavn: Nombre de la organización, (ej: DesdeLinux).
- Organisasjonsenhetsnavn: Organisasjonssektor (eks: Blogger).
- Vanlig navn: Nombre del dominio ó FQDN. Es importante conocer que hay una diferencia entre blog.desdelinux.net y desdelinux.net. Debes registrar el certificado para uno, o para el otro.
- Epostadresse: Kontakt e-postadresse.
- Et utfordringspassord: I hvitt.
- Et valgfritt firmanavn: I hvitt.
Nå genererer vi SSL-sertifikatet, som tar dataene vi skrev inn:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Vi kopierer sertifikatene til SSL-mappen inne i / etc:
$ sudo cp server.crt /etc/ssl/certs/ssl.crt $ sudo cp server.key /etc/ssl/certs/ssl.key
Vi redigerer filen igjen filen / etc / default / shellinabox og vi endrer det vi hadde lagt, og satte til slutt:
SHELLINABOX_ARGS="--no-beep"
Nå redigerer vi filen / etc / nginx / sites-enabled / shellinabox og vi setter den inne:
server {listen 80; returner 301 https: // $ host $ request_uri; } server {listen 443; servernavn myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl på; ssl_session_cache innebygd: 1000 delt: 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; location / terminal {proxy_set_header Host $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Videresendt-For $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $ -skjema; # Løs feilen "Det ser ut til at omvendt proxy-oppsett er ødelagt". Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }
Vi starter tjenestene på nytt:
$ sudo /etc/init.d/shellinabox start på nytt $ sudo /etc/init.d/nginx restart
og vi får tilgang
http://la_ip_o_nombre_del_servidor/terminal
som skal omdirigere oss til:
https://la_ip_o_nombre_del_servidor/terminal
Og det er alt.
Det minnet meg om hva som kommer ut i CSI-serien
Et mest interessant innlegg; Jeg hadde aldri hørt om dette verktøyet, og sannheten er at det er mest nysgjerrig og nyttig ... Jeg må anta at akkurat som dette konseptet er blitt brukt på Ngix, kan det også brukes på Apache, ikke sant?
Det minner meg om hvordan Butterfly fungerer, spesielt når du bruker terminalen fra nettleseren. Selvfølgelig ikke med så mye kompleksitet som det de viser her 🙂
«La oss anta at vi av en eller annen grunn ikke får tilgang til serveren vår med en terminal, for kanskje vi går nedover gaten og vi bare har mobiltelefonen vår på toppen, og siden vi ikke er geeker eller noe, har vi ikke installert noe program av dette type."
Hvordan vil vi ønske å gå inn på serveren vår hvis vi ikke er geeker? hahaha
Det virker for meg mye raskere å bruke en ssh-app enn å bruke en nettleser, og du unngår å installere programvare på serveren, men det er fortsatt et interessant alternativ.
Fordel når du er på et sted med rene Windows.
"Fordel når du er på et sted med rene Windows."
entoses ……………… kitt eller pus.
gode menn denne super takk for bidraget