Accedi al tuo terminale del server tramite il tuo browser web

Supponiamo che per qualche motivo non possiamo accedere al nostro server con un terminale, perché forse stiamo camminando per strada e abbiamo solo il nostro cellulare in cima, e poiché non siamo smanettoni o altro, non abbiamo installato alcuna applicazione questo tipo.

Allora cosa facciamo? Bene, niente, non possiamo fare nulla finché non arriviamo a casa o al lavoro, accediamo al nostro server e installiamo shellinabox. Ma che cos'è, mangi?

shellinabox

shellinabox attrezzi Un server web che può esportazione strumenti di linea comando a emulatore di terminale basato sul web. Questo emulatore è accessibile da qualsiasi browser che supporti JavaScript e CSS y non richiede Nessun tipo di plug-in aggiuntivo alla funzione.

Sebbene il progetto originale sia stato interrotto, ci sono una forchetta su GitHub che ci permette di installarlo se non lo abbiamo nei repository. Nel caso di Ubuntu 14.04 lo è, quindi non ci resta che aprire un terminale e inserire:

$ sudo apt install shellinabox openssl ca-certificates

Nel caso degli ultimi due pacchetti, è nel caso in cui non li abbiamo già installati. E una volta fatto ciò, ora possiamo accedere al nostro terminale sul web inserendo nel browser:

http://la_ip_o_nombre_del_servidor:4200

shellinabox

Usa Shellinabox attraverso la porta 80

Come puoi vedere, per impostazione predefinita Shellinabox utilizza la porta 4200 e potremmo non essere in grado di accedervi se è bloccato dal nostro fornitore di servizi. Possiamo usare una variante che non è sicura ma funziona, ovvero quella da usare shellinabox Dal porto 80, anche se in seguito mostrerò come utilizzare il file 443 se lo abbiamo a disposizione.

Quello che faremo è accedere a Shellinabox inserendo nel nostro browser:

http://la_ip_o_nombre_del_servidor/terminal

Per fare ciò, la prima cosa che facciamo è installare NGinx:

$ sudo apt install nginx

Ora creiamo il file / etc / nginx / sites-enabled / shellinabox e lo mettiamo dentro:

 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; posizione / terminale / {proxy_pass http: // localhost: 4200 /; }}

Modifichiamo il file / etc / default / shellinabox e mettiamo alla fine:

SHELLINABOX_ARGS="--localhost-only --disable-ssl"

Ci riavviamo Nginx y shellinabox:

$ sudo /etc/init.d/shellinabox riavvio $ sudo /etc/init.d/nginx riavvio

E pronto !!

Usa Shellinabox attraverso la porta 443

Questo processo è un po 'più complicato, perché dobbiamo creare i nostri certificati SSL. Per questo faremo quanto segue:

Per prima cosa installiamo OpenSSL:

$ sudo apt-get install openssl

Creiamo una chiave privata:

openssl genrsa -out server.key 2024

Creiamo la base del certificato, dove metteremo una serie di dati:

openssl req -new -key server.key -out server.csr

I dati che inseriremo saranno:

  • Nome del paese (codice di 2 lettere): Codice paese nel formato ISO di due lettere (es: ES, US, CU, MX ..).
  • Nome dello stato o della provincia (nome completo): Stato o provincia (es: Florida).
  • Nome località: Città o città (es: Miami).
  • Nome dell'organizzazione: Nombre de la organización, (ej: DesdeLinux).
  • Nome unità organizzativa: Settore dell'organizzazione (es: Blog).
  • Nome comune: 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.
  • Indirizzo email: Indirizzo email di contatto.
  • Una password di verifica: Vuoto.
  • Un nome di società facoltativo: Vuoto.

Ora generiamo il certificato SSL, che prenderà i dati che abbiamo inserito:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Copiamo i certificati nella cartella SSL all'interno di / etc:

$ sudo cp server.crt /etc/ssl/certs/ssl.crt $ sudo cp server.key /etc/ssl/certs/ssl.key

Modifichiamo nuovamente il file il file / etc / default / shellinabox e cambiamo quello che avevamo messo, mettendo alla fine:

SHELLINABOX_ARGS="--no-beep"

Ora modifichiamo il file / etc / nginx / sites-enabled / shellinabox e lo mettiamo dentro:

 server {ascolta 80; ritorno 301 https: // $ host $ request_uri; } server {ascolta 443; nome_server myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl su; ssl_session_cache builtin: 1000 shared: SSL: 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH :! aNULL :! eNULL :! EXPORT :! CAMELLIA :! DES :! MD5 :! PSK :! RC4; ssl_prefer_server_ciphers su; access_log /var/log/nginx/shellinabox.access.log; posizione / terminale {proxy_set_header Host $ host; 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 $ schema; # Correggi l'errore "Sembra che la configurazione del proxy inverso non sia corretta". Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }

Riavvia i servizi:

$ sudo /etc/init.d/shellinabox riavvio $ sudo /etc/init.d/nginx riavvio

e accediamo

http://la_ip_o_nombre_del_servidor/terminal

che dovrebbe reindirizzarci a:

https://la_ip_o_nombre_del_servidor/terminal

E questo è tutto.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   clown suddetto

    Mi ha ricordato quello che viene fuori nella serie CSI

  2.   Drassil suddetto

    Un post molto interessante; Non avevo mai sentito parlare di questa utility e la verità è che è molto curiosa e utile ... Devo presumere che proprio come questo concetto è stato applicato a Ngix, può essere applicato anche ad Apache, giusto?

  3.   mat1986 suddetto

    Mi ricorda come funziona Butterfly, soprattutto quando si utilizza il terminale dal browser. Ovviamente, non con la stessa complessità di quello che mostrano qui 🙂

  4.   xykyz suddetto

    «Supponiamo che per qualche motivo non possiamo accedere al nostro server con un terminale, perché forse stiamo camminando per strada e abbiamo solo il cellulare in cima, e siccome non siamo smanettoni o altro, non abbiamo installato nessuna applicazione di questo tipo. "

    Come vorremo entrare nel nostro server se non siamo dei geek? Hahaha

    Trovo molto più veloce usare un'app ssh che usare un browser ed eviti di installare software sul server, ma è comunque un'opzione interessante.

  5.   Nessuno suddetto

    Vantaggio quando ti trovi in ​​un posto con Windows puro.

  6.   Nome suddetto

    "Vantaggio quando sei in un posto con Windows puro."
    entoses ……………… stucco o gattino.

  7.   Jose Manuel Higuera suddetto

    uomini eccellenti questo super grazie per il contributo