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
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.
Przypomniało mi to, co wychodzi z serii CSI
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?
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ą 🙂
«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.
Zaleta, gdy jesteś w miejscu z czystym systemem Windows.
„Zaleta, gdy jesteś w miejscu z czystym systemem Windows”.
wprowadza ……………… kit lub kitty.
Wspaniali ludzie to super dzięki za wkład