Достъп до сървърния терминал през вашия уеб браузър

Да предположим, че по някаква причина не можем да осъществим достъп до нашия сървър с терминал, защото може би вървим по улицата и имаме само мобилния си телефон отгоре и тъй като не сме отрепки или нещо подобно, не сме инсталирали никакво приложение на този тип.

Тогава какво правим? Е, нищо, не можем да направим нищо, докато не се приберем вкъщи или не работим, влезем в нашия сървър и инсталираме shellinabox. Но какво е това, ядеш ли?

shellinabox

shellinabox реализиране Сървър мрежа, която може износ линии инструменти команда към a терминален емулатор уеб-базирани. Този емулатор е достъпен от всеки браузър, който поддържа JavaScript и CSS y не изисква няма вид плъгин допълнително към функцията.

Въпреки че оригиналният проект е прекратен, има вилица на Github което ни позволява да го инсталираме, ако го нямаме в хранилищата. В случая с Ubuntu 14.04 е, така че просто трябва да отворим терминал и да поставим:

$ sudo apt install shellinabox openssl ca-certificates

В случай на последните два пакета, това е в случай, че вече не сме ги инсталирали. И след като това стане, вече можем да осъществим достъп до нашия терминал в мрежата, като поставим в браузъра:

http://la_ip_o_nombre_del_servidor:4200

shellinabox

Използвайте Shellinabox през порт 80

Както можете да видите, по подразбиране Shellinabox използва порта 4200 и може да нямаме достъп до него, ако е блокиран от нашия доставчик на услуги. Можем да използваме вариант, който е опасен, но работи, който е да се използва shellinabox До пристанището 80, въпреки че по-късно ще покажа как да използвам 443 ако го имаме на разположение.

Това, което ще направим, е да осъществим достъп до Shellinabox, като поставим в браузъра си:

http://la_ip_o_nombre_del_servidor/terminal

За да направите това, първото нещо, което правим, е да инсталираме NGinx:

$ sudo apt install nginx

Сега ние създаваме файла / etc / nginx / sites-enabled / shellinabox и го поставяме вътре:

 сървър {proxy_set_header Хост $ 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; местоположение / терминал / {proxy_pass http: // localhost: 4200 /; }}

Редактираме файла / etc / default / shellinabox и поставяме в края:

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

Рестартираме Nginx y shellinabox:

$ sudo /etc/init.d/shellinabox рестартиране $ sudo /etc/init.d/nginx рестартиране

И готово !!

Използвайте Shellinabox през порт 443

Този процес е малко по-тромав, защото трябва да създадем нашите SSL сертификати. За това ще направим следното:

Първо инсталираме OpenSSL:

$ sudo apt-get install installsl

Създаваме частен ключ:

openssl genrsa -out server.key 2024

Ние създаваме основата на сертификата, където ще поставим поредица от данни:

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

Данните, които ще попълним, ще бъдат:

  • Име на държава (двубуквен код): Код на държавата в двубуквен ISO формат (например: ES, US, CU, MX ..).
  • Име на щат или провинция (пълно име): Щат или провинция (напр. Флорида).
  • Име на местността: Град или град (напр. Маями).
  • Наименование на организацията: Име на организацията (напр.: DesdeLinux).
  • Име на организационната единица: Организационен сектор (напр. Блогове).
  • Често срещано име: Име на домейн или FQDN. Важно е да знаете, че има разлика между блог.desdelinux.net и desdelinux.net. Трябва да регистрирате сертификата за едното или другото.
  • Имейл адрес: Свържи се с имейл адрес.
  • Парола за предизвикателство: В бяло.
  • Незадължително име на фирма: В бяло.

Сега генерираме SSL сертификат, който ще вземе въведените от нас данни:

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

Копираме сертификатите в папката SSL в / etc:

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

Редактираме файла отново / etc / default / shellinabox и променяме това, което бяхме сложили, поставяйки в края:

SHELLINABOX_ARGS="--no-beep"

Сега редактираме файла / etc / nginx / sites-enabled / shellinabox и го поставяме вътре:

 сървър {слуша 80; върнете 301 https: // $ host $ request_uri; } сървър {слушане 443; име на сървър myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl включен; ssl_session_cache вграден: 1000 споделени: SSL: 10 м; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH :! aNULL :! eNULL :! EXPORT :! CAMELLIA :! DES :! MD5 :! PSK :! RC4; ssl_prefer_server_ciphers включен; access_log /var/log/nginx/shellinabox.access.log; местоположение / терминал {proxy_set_header Хост $ хост; 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 $ схема; # Поправете грешката „Изглежда, че настройката на обратния ви прокси е счупена“. Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }

Рестартираме услугите:

$ sudo /etc/init.d/shellinabox рестартиране $ sudo /etc/init.d/nginx рестартиране

и ние имаме достъп

http://la_ip_o_nombre_del_servidor/terminal

което трябва да ни пренасочи към:

https://la_ip_o_nombre_del_servidor/terminal

И това е всичко.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   клоун каза той

    Това ми напомни за това, което излиза в серията CSI

  2.   Драсил каза той

    Най-интересна публикация; Никога не бях чувал за тази програма и истината е, че тя е най-любопитна и полезна ... Трябва да предположа, че както тази концепция е приложена към Ngix, тя може да бъде приложена и към Apache, нали?

  3.   mat1986 каза той

    Това ми напомня как работи Butterfly, особено когато използвам терминала от браузъра. Разбира се, не с толкова сложност, колкото това, което показват тук 🙂

  4.   xykyz каза той

    «Ще предположим, че по някаква причина не можем да осъществим достъп до нашия сървър с терминал, защото може би вървим по улицата и имаме само мобилния си телефон отгоре и тъй като не сме отрепки или нещо подобно, не сме инсталира всяко приложение от този вид. "

    Как ще искаме да влезем в нашия сървър, ако не сме отрепки? хахаха

    Струва ми се много по-бързо да използвам ssh приложение, отколкото да използвам браузър и избягвам да инсталирам софтуер на сървъра, но все пак е интересна опция.

  5.   nonex каза той

    Предимство, когато сте на място с чист Windows.

  6.   име каза той

    „Предимство, когато сте на място с чист Windows.“
    примамва ……………… шпакловка или коте.

  7.   Хосе Мануел Игуера каза той

    отлични мъже това супер благодаря за приноса