Предположим, что по какой-то причине мы не можем получить доступ к нашему серверу с помощью терминала, потому что, возможно, мы идем по улице, и у нас есть только наш мобильный телефон наверху, и, поскольку мы не гики или что-то еще, мы не установили какое-либо приложение этот тип.
Тогда что нам делать? Ну ничего, мы ничего не можем сделать, пока не вернемся домой или на работу, не зайдем на наш сервер и не установим Шеллинабокс. Но что это такое, ты ешь?
Шеллинабокс
Шеллинабокс инвентарь Сервер сеть, которая может экспорт линейные инструменты команда к эмулятор терминала Интернет. Этот эмулятор он доступен из любого браузера, который поддерживает JavaScript и CSS y это не требует Никакого плагин дополнительно к функции.
Хотя первоначальный проект был прекращен, есть вилка на Github что позволяет нам установить его, если у нас его нет в репозиториях. В случае Ubuntu 14.04 это так, поэтому нам просто нужно открыть терминал и поставить:
$ sudo apt install shellinabox openssl ca-certificates
В случае с двумя последними пакетами это на тот случай, если мы еще не установили их. И как только это будет сделано, мы теперь можем получить доступ к нашему терминалу в Интернете, введя в браузер:
http://la_ip_o_nombre_del_servidor:4200
Используйте Shellinabox через порт 80
Как видите, по умолчанию Shellinabox использует порт 4200 и мы не сможем получить к нему доступ, если он заблокирован нашим поставщиком услуг. Мы можем использовать вариант, который небезопасен, но работает, то есть использовать Шеллинабокс У порта 80, хотя позже я покажу, как использовать 443 если он у нас есть.
Что мы сделаем, так это войдем в Shellinabox, введя в наш браузер:
http://la_ip_o_nombre_del_servidor/terminal
Для этого первым делом устанавливаем NGinx:
$ sudo apt install nginx
Теперь создаем файл / и т. д. / nginx / сайты с поддержкой / shellinabox и кладем внутрь:
сервер {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; местоположение / терминал / {прокси-пароль http: // localhost: 4200 /; }}
Редактируем файл / и т. д. / по умолчанию / shellinabox и ставим в конце:
SHELLINABOX_ARGS="--localhost-only --disable-ssl"
Перезагружаемся Nginx y Шеллинабокс:
$ sudo /etc/init.d/shellinabox restart $ sudo /etc/init.d/nginx restart
И готово !!
Используйте Shellinabox через порт 443
Этот процесс немного сложнее, потому что нам нужно создать наши сертификаты SSL. Для этого сделаем следующее:
Сначала устанавливаем OpenSSL:
$ sudo apt-get установить openssl
Создаем приватный ключ:
openssl genrsa -out server.key 2024
Создаем базу сертификата, куда будем помещать ряд данных:
openssl req -new -key server.key -out server.csr
Данные, которые мы заполним, будут:
- Название страны (двухбуквенный код): Код страны в двухбуквенном формате ISO (например: ES, US, CU, MX ..).
- Название штата или провинции (полное название): Штат или провинция (например, Флорида).
- Название населенного пункта: Город или город (например, Майами).
- Название организации: Название организации (например: DesdeLinux).
- Название организационной единицы: Сектор организации (например, блоги).
- Распространенное имя: Доменное имя или полное доменное имя. Важно знать, что есть разница между блогом.desdelinux.net и desdelinux.сеть. Вы должны зарегистрировать сертификат для того или другого.
- E-mail адрес: Контактный адрес электронной почты.
- Пароль для вызова: Blank.
- Необязательное название компании: Blank.
Теперь мы генерируем 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
Редактируем файл снова файл / и т. д. / по умолчанию / shellinabox и меняем то, что поставили, ставим в конце:
SHELLINABOX_ARGS="--no-beep"
Теперь редактируем файл / и т. д. / nginx / сайты с поддержкой / shellinabox и кладем внутрь:
сервер {слушать 80; return 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 :! ЭКСПОРТ :! КАМЕЛИЯ :! DES :! MD5 :! PSK :! RC4; ssl_prefer_server_ciphers на; access_log /var/log/nginx/shellinabox.access.log; местоположение / терминал {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 $; # Исправьте ошибку «Кажется, что ваш обратный прокси-сервер не работает». Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }
Перезапускаем сервисы:
$ sudo /etc/init.d/shellinabox restart $ sudo /etc/init.d/nginx restart
и мы получаем доступ
http://la_ip_o_nombre_del_servidor/terminal
который должен перенаправить нас на:
https://la_ip_o_nombre_del_servidor/terminal
И это все.
Это напомнило мне о том, что выходит в серии CSI.
Очень интересный пост; Я никогда не слышал об этой утилите, и правда в том, что она очень любопытна и полезна ... Я должен предположить, что так же, как эта концепция была применена к Ngix, ее также можно применить к Apache, верно?
Это напоминает мне, как работает Butterfly, особенно при использовании терминала из браузера. Конечно, не так сложно, как то, что здесь показывают here
«Предположим, что по какой-то причине мы не можем получить доступ к нашему серверу с помощью терминала, потому что, возможно, мы идем по улице, и у нас есть только наш сотовый телефон наверху, и, поскольку мы не вундеркинды или что-то еще, мы не установили какое-либо приложение этого тип."
Как мы захотим войти на наш сервер, если мы не вундеркинды? хахаха
Я считаю, что использовать приложение ssh намного быстрее, чем использовать браузер, и вы избегаете установки программного обеспечения на сервер, но это все еще интересный вариант.
Преимущество, когда вы находитесь в месте с чистой Windows.
«Преимущество, когда вы находитесь в месте с чистой Windows».
Entoses ……………… шпатлевка или котенок.
отличные мужчины это супер спасибо за вклад