Lad os antage, at vi af en eller anden grund ikke kan få adgang til vores server med en terminal, for måske går vi ned ad gaden, og vi har kun vores mobiltelefon øverst, og da vi ikke er nørder eller noget, har vi ikke installeret nogen applikation af denne type.
Hvad gør vi så? Nå, intet, vi kan ikke gøre noget, før vi kommer hjem eller arbejder, får adgang til vores server og installerer shellinabox. Men hvad er det, spiser du?
shellinabox
shellinabox redskaber En server web, der kan eksport linje værktøjer kommando til terminalemulator webbaseret. Denne emulator er tilgængelig fra enhver browser, der understøtter JavaScript og CSS y kræver ikke ingen slags plugin ekstra til funktion.
Selvom det oprindelige projekt blev afbrudt, er der en gaffel på Github det giver os mulighed for at installere det, hvis vi ikke har det i arkiverne. I tilfælde af Ubuntu 14.04 er det, så vi skal bare åbne en terminal og sætte:
$ sudo apt install shellinabox openssl ca-certificates
I tilfælde af de sidste to pakker er det i tilfælde af, at vi ikke allerede har dem installeret. Og når dette er gjort, kan vi nu få adgang til vores terminal på nettet ved at sætte i browseren:
http://la_ip_o_nombre_del_servidor:4200
Brug Shellinabox gennem port 80
Som du kan se, bruger Shellinabox som standard porten 4200 og vi kan muligvis ikke få adgang til det, hvis det er blokeret af vores tjenesteudbyder. Vi kan bruge en variant, der er usikker, men fungerer, som skal bruges shellinabox Ved havnen 80, selvom jeg senere vil vise, hvordan jeg bruger 443 hvis vi har det tilgængeligt.
Hvad vi vil gøre er at få adgang til Shellinabox ved at sætte i vores browser:
http://la_ip_o_nombre_del_servidor/terminal
For at gøre dette er den første ting, vi gør, at installere NGinx:
$ sudo apt install nginx
Nu opretter vi filen / etc / nginx / sites-enabled / shellinabox og vi sætter det inde:
server {proxy_set_header Host $ http_host; proxy_set_header X-Videresendt vært $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Videresendt-For $ proxy_add_x_forwarded_for; placering / terminal / {proxy_pass http: // localhost: 4200 /; }}
Vi redigerer filen / etc / default / shellinabox og vi afslutter:
SHELLINABOX_ARGS="--localhost-only --disable-ssl"
Vi genstarter Nginx y shellinabox:
$ sudo /etc/init.d/shellinabox genstart $ sudo /etc/init.d/nginx genstart
Og klar !!
Brug Shellinabox gennem port 443
Denne proces er lidt mere besværlig, fordi vi er nødt til at oprette vores SSL-certifikater. Til dette vil vi gøre følgende:
Først installerer vi OpenSSL:
$ sudo apt-get install openssl
Vi opretter en privat nøgle:
openssl genrsa -out server.key 2024
Vi opretter basen af certifikatet, hvor vi lægger en række data:
openssl req -new -key server.key -out server.csr
De data, som vi udfylder, er:
- Landets navn (kode med 2 bogstaver): Landekode i ISO-format på to bogstaver (f.eks: ES, US, CU, MX ..).
- Navn på stat eller provins (fuldt navn): Stat eller provins (f.eks. Florida).
- Navn på lokalitet: By eller by (f.eks. Miami).
- Organisationens navn: Organisationens navn (f.eks.: DesdeLinux).
- Organisationsenheds navn: Organisationssektor (f.eks. Blogs).
- Almindeligt navn: Domænenavn eller FQDN. Det er vigtigt at vide, at der er forskel på en blog.desdelinux.net og desdelinux.net. Du skal registrere certifikatet for det ene eller det andet.
- Email adresse: Kontakt e-mail-adresse.
- En adgangskode til udfordring: I hvid.
- Et valgfrit firmanavn: I hvid.
Nu genererer vi SSL-certifikatet, som tager de data, vi indtastede:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Vi kopierer certifikaterne til SSL-mappen inde i / etc:
$ sudo cp server.crt /etc/ssl/certs/ssl.crt $ sudo cp server.key /etc/ssl/certs/ssl.key
Vi redigerer filen igen filen / etc / default / shellinabox og vi ændrer det, vi havde sat, ved at afslutte:
SHELLINABOX_ARGS="--no-beep"
Nu redigerer vi filen / etc / nginx / sites-enabled / shellinabox og vi sætter det inde:
server {lyt 80; returner 301 https: // $ host $ request_uri; } server {lyt 443; servernavn myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl på; ssl_session_cache indbygget: 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; adgang_log /var/log/nginx/shellinabox.access.log; placering / 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 $-ordning; # Ret fejlen "Det ser ud til, at din omvendte proxyopsætning er brudt. Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }
Vi genstarter tjenesterne:
$ sudo /etc/init.d/shellinabox genstart $ sudo /etc/init.d/nginx genstart
og vi får adgang
http://la_ip_o_nombre_del_servidor/terminal
som skulle omdirigere os til:
https://la_ip_o_nombre_del_servidor/terminal
Og det er alt.
Det mindede mig om, hvad der kommer ud i CSI-serien
Et meget interessant indlæg; Jeg havde aldrig hørt om dette værktøj, og sandheden er, at det er mest nysgerrig og nyttigt ... Jeg må antage, at ligesom dette koncept er blevet anvendt på Ngix, kan det også anvendes på Apache, ikke?
Det minder mig om, hvordan Butterfly fungerer, især når man bruger terminalen fra browseren. Selvfølgelig ikke med så meget kompleksitet som det, de viser her 🙂
«Vi vil antage, at vi af en eller anden grund ikke kan få adgang til vores server med en terminal, for måske går vi ned ad gaden, og vi har kun vores mobiltelefon øverst, og da vi ikke er nørder eller noget, har vi ikke installeret nogen applikation af dette type."
Hvordan vil vi komme ind på vores server, hvis vi ikke er nørder? hahaha
Det forekommer mig meget hurtigere at bruge en ssh-app end at bruge en browser, og du undgår at installere software på serveren, men det er stadig en interessant mulighed.
Fordel, når du er et sted med rene Windows.
"Fordel, når du er et sted med rene Windows."
entoses ……………… kit eller kitty.
Fremragende mænd denne super tak for bidraget