Shell In A Box - веб-терминал SSH для доступа к Linux через браузер
Shell In A Box – это веб-эмулятор терминала, созданный Маркусом Гучке. Он имеет встроенный веб-сервер, который работает как веб-клиент SSH на указанном порту и предлагает вам веб-эмулятор терминала для доступа и управления вашим на Linux удаленно, используя только браузер. Дополнительные расширения для браузера, таких как FireSSH, ненужны.
В этом руководстве я описываю, как установить Shellinabox и получить доступ к удаленному SSH-терминалу с помощью современного браузера на любой машине.
Web-based SSH доступ к Linux серверам очень полезен, когда вы защищены брандмауэром и только HTTPS трафик может пройти через него.
Установка Shellinabox в системах Linux
По умолчанию инструмент Shellinabox включен в дистрибутивы Linux на базе Debian через стандартные репозитории с использованием стандартного менеджера пакетов, как показано на рисунке.
Установка Shellinabox на Debian, Ubuntu & Mint
sudo apt install openssl shellinabox
Установка Shellinabox на RHEL, Fedora, Rocky & AlamLinux
В дистрибутивах на базе Red Hat необходимо установить его из исходников с помощью следующих команд.
yum install git openssl-devel pam-devel zlib-devel autoconf automake libtool git clone https://github.com/shellinabox/shellinabox.git && cd shellinabox autoreconf -i ./configure && make
Настройка Shellinabox
По умолчанию shellinaboxd прослушивает TCP порт 4200 на localhost. В целях безопасности, я меняю этот порт по умолчанию на случайный (например, 6175), чтобы затруднить несанкционированный доступ.
Также, во время установки, новый самоподписанный SSL сертификат автоматически создается здесь – /var/lib/shellinabox
для использования HTTPS протокола.
sudo nano /etc/default/shellinabox
Внесите изменения в конфигурацию, как показано ниже…
# Должен ли shellinaboxd запускаться автоматически SHELLINABOX_DAEMON_START=1 # TCP-порт, который прослушивает веб-сервер shellinboxd SHELLINABOX_PORT=6175 # Параметры, которые управляются системой и обычно не требуют изменений: # SHELLINABOX_DATADIR=/var/lib/shellinabox # SHELLINABOX_USER=shellinabox # SHELLINABOX_GROUP=shellinabox # Любые необязательные аргументы (например, дополнительные определения служб). # Убедитесь что аргумент взят в кавычки. # Звуковые сигналы отключены из-за сообщений о сбое плагина VLC # Firefox на Linux/x86_64. SHELLINABOX_ARGS="--no-beep" # укажите IP адрес SSH сервера OPTS="-s /:SSH:192.168.0.140" # если вы хотите ограничить доступ к shellinaboxd только с localhost OPTS="-s /:SSH:192.168.0.140 --localhost-only"
После завершения настройки вы можете перезапустить и проверить службу shellinabox, выполнив следующие команды.
sudo systemctl restart shellinabox sudo systemctl status shellinabox
Теперь давайте проверим, запущен ли Shellinabox на порту 6175, используя команду netstat
.
sudo netstat -nap | grep shellinabox
Убедитесь, что вы защитили shellinabox в брандмауэре и открыли 6175 порт для определенного IP-адреса.
# На Debian, Ubuntu и Mint sudo ufw allow 6175/tcp sudo ufw allow from 192.168.0.140 # На RHEL/CentOS/Fedora и Rocky Linux/AlmaLinux sudo firewall-cmd --zone=public --add-port=6175/tcp sudo firewall-cmd --zone=public --add-source=192.168.0.103/6175 --permanent
Доступ к терминалу Linux SSH через веб-браузер
Теперь откройте веб-браузер и перейдите по адресу https://192.168.0.140:6175. Вы должны увидеть веб-терминал. Войдите в систему, используя имя пользователя и пароль.
Вы можете нажать правую кнопку мыши, чтобы использовать некоторые полезные функций, включая изменение внешнего вида и настройки интерфейса.
Для получения дополнительной информации посетите официальную страницу Shellinabox
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Вдохновлен www.tecmint.com
Комментарии (0)