Uzyskaj dostęp do terminala serwera za pośrednictwem przeglądarki internetowej

Załóżmy, że z jakiegoś powodu nie możemy uzyskać dostępu do naszego serwera za pomocą terminala, ponieważ być może idziemy ulicą i mamy tylko telefon komórkowy na górze, a ponieważ nie jesteśmy maniakami ani nic takiego, nie zainstalowaliśmy żadnej aplikacji tego typu .

Więc co robimy? Cóż, nic, nie możemy nic zrobić, dopóki nie wrócimy do domu lub pracy, nie uzyskamy dostępu do naszego serwera i nie zainstalujemy shellinabox. Ale co to jest, jesz?

shellinabox

shellinabox narzędzia Serwer sieć, która może eksport narzędzia liniowe Komenda do emulator terminala oparty na sieci. Ten emulator jest dostępny z dowolnej przeglądarki obsługującej JAVASCRIPT i CSS y nie wymaga Żadnego wtyczka Dodatkowy do funkcji.

Chociaż pierwotny projekt został przerwany, istnieją widelec na Githubie co pozwala nam go zainstalować, jeśli nie mamy go w repozytoriach. W przypadku Ubuntu 14.04 tak jest, więc wystarczy otworzyć terminal i włożyć:

$ sudo apt install shellinabox openssl ca-certificates

W przypadku ostatnich dwóch pakietów jest to na wypadek, gdybyśmy ich jeszcze nie zainstalowali. A kiedy już to zrobisz, możemy teraz uzyskać dostęp do naszego terminala w Internecie, umieszczając w przeglądarce:

http://la_ip_o_nombre_del_servidor:4200

shellinabox

Użyj Shellinabox przez port 80

Jak widać, domyślnie Shellinabox używa tego portu 4200 i możemy nie mieć do niego dostępu, jeśli zostanie zablokowany przez naszego dostawcę usług. Możemy użyć wariantu, który nie jest zbyt bezpieczny, ale działa shellinabox Przy porcie 80, chociaż później pokażę, jak używać 443 jeśli mamy to dostępne.

To, co zrobimy, to dostęp do Shellinabox, umieszczając w naszej przeglądarce:

http://la_ip_o_nombre_del_servidor/terminal

Aby to zrobić, pierwszą rzeczą, którą robimy, jest instalacja NGinx:

$ sudo apt install nginx

Teraz tworzymy plik / etc / nginx / sites-enabled / shellinabox i umieściliśmy go w środku:

 serwer {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; lokalizacja / terminal / {proxy_pass http: // localhost: 4200 /; }}

Edytujemy plik / etc / default / shellinabox i na koniec stawiamy:

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

Restartujemy Nginx y shellinabox:

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

I gotowy!!

Użyj Shellinabox przez port 443

Ten proces jest nieco bardziej uciążliwy, ponieważ musimy stworzyć nasze certyfikaty SSL. W tym celu wykonamy następujące czynności:

Najpierw instalujemy OpenSSL:

$ Sudo apt-get install openssl

Tworzymy klucz prywatny:

openssl genrsa -out server.key 2024

Tworzymy bazę certyfikatu, w której umieścimy szereg danych:

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

Dane, które wypełnimy to:

  • Nazwa kraju (kod dwuliterowy): Kod kraju w dwuliterowym formacie ISO (np .: ES, US, CU, MX ..).
  • Nazwa stanu lub prowincji (pełna nazwa): Stan lub prowincja (np. Floryda).
  • Nazwa miejscowości: Miasto lub miasto (np. Miami).
  • Nazwa organizacji: Nazwa organizacji (np.: DesdeLinux).
  • Nazwa jednostki organizacyjnej: Sektor organizacji (np. Blogi).
  • Nazwa zwyczajowa: Nazwa domeny lub FQDN. Warto wiedzieć, że istnieje różnica pomiędzy blogiem.desdelinux.net i desdelinux.internet. Musisz zarejestrować certyfikat dla jednego lub drugiego.
  • Adres e-mail: Kontaktowy adres email.
  • Hasło-wyzwanie: W kolorze białym.
  • Opcjonalna nazwa firmy: W kolorze białym.

Teraz generujemy certyfikat SSL, który przyjmie wprowadzone przez nas dane:

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

Kopiujemy certyfikaty do folderu SSL w / etc:

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

Ponownie edytujemy plik / etc / default / shellinabox i zmieniamy to, co umieściliśmy, umieszczając na końcu:

SHELLINABOX_ARGS="--no-beep"

Teraz edytujemy plik / etc / nginx / sites-enabled / shellinabox i umieściliśmy go w środku:

 serwer {nasłuchuj 80; return 301 https: // $ host $ request_uri; } serwer {nasłuchuj 443; nazwa_serwera myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl włączony; ssl_session_cache wbudowana: 1000 współdzielona: SSL: 10 m; 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; lokalizacja / terminal {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 $ schemat; # Napraw błąd „Wygląda na to, że konfiguracja odwrotnego proxy jest zepsuta”. Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }

Ponownie uruchamiamy usługi:

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

i mamy dostęp

http://la_ip_o_nombre_del_servidor/terminal

co powinno nas przekierować do:

https://la_ip_o_nombre_del_servidor/terminal

I to wszystko.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   błazen powiedział

    Przypomniało mi to, co wychodzi z serii CSI

  2.   drassill powiedział

    Najciekawszy post; Nigdy nie słyszałem o tym narzędziu i prawda jest taka, że ​​jest bardzo ciekawa i użyteczna ... Muszę założyć, że tak jak ta koncepcja została zastosowana do Ngix, można ją również zastosować do Apache, prawda?

  3.   mat1986 powiedział

    Przypomina mi, jak działa Butterfly, zwłaszcza podczas korzystania z terminala z poziomu przeglądarki. Oczywiście nie tak skomplikowane, jak to, co tutaj pokazują 🙂

  4.   xykyz powiedział

    «Załóżmy, że z jakiegoś powodu nie możemy uzyskać dostępu do naszego serwera za pomocą terminala, ponieważ być może idziemy ulicą i mamy tylko telefon komórkowy na górze, a ponieważ nie jesteśmy maniakami ani nic takiego, nie zainstalowaliśmy żadnej aplikacji do tego rodzaj."

    Jak będziemy chcieli wejść na nasz serwer, jeśli nie jesteśmy maniakami? hahaha

    Wydaje mi się, że korzystanie z aplikacji ssh jest znacznie szybsze niż korzystanie z przeglądarki i unikasz instalowania oprogramowania na serwerze, ale nadal jest to interesująca opcja.

  5.   Brakx powiedział

    Zaleta, gdy jesteś w miejscu z czystym systemem Windows.

  6.   nazwa powiedział

    „Zaleta, gdy jesteś w miejscu z czystym systemem Windows”.
    wprowadza ……………… kit lub kitty.

  7.   Jose Manuel Higuera powiedział

    Wspaniali ludzie to super dzięki za wkład