Shell In A Box – 基于 Web 的 SSH 终端,可通过浏览器访问 Linux
Shell In A Box(发音为 shellinabox)是由 Markus Gutschke 创建的基于 Web 的终端仿真器。它有一个内置的网络服务器,在指定端口上作为基于网络的 SSH 客户端运行,并提示您使用网络终端仿真器远程访问和控制您的 Linux 服务器 SSH Shell ,使用任何支持AJAX / JavaScript 和 CSS 的 浏览器,而无需需要任何额外的浏览器插件。
在本教程中,我描述了如何安装 Shellinabox 并在任何机器上使用现代 Web 浏览器访问远程SSH 终端。当您受到防火墙保护并且只有 HTTPS流量可以通过时,基于 Web 的 SSH访问 Linux 服务器非常有用。
在 Linux 系统上安装 Shellinabox
默认情况下,Shellinabox工具通过使用默认包管理器的默认存储库包含在基于 Debian 的 Linux 发行版中,如图所示。
在 Debian、Ubuntu 和 Mint 上安装 Shellinabox
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ sudo apt install openssl shellinabox
在 RHEL、Fedora、Rocky 和 AlamLinux 上安装 Shellinabox
在基于 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
在 Linux 系统中配置 Shellinabox
默认情况下,shellinaboxd 侦听 localhost 上的 TCP 端口 4200。出于安全原因,我将此默认端口更改为随机端口(即 6688),以使任何人都难以访问您的 SSH。
此外,在安装过程中,会在“ /var/lib/shellinabox ”下自动创建一个新的自签名SSL证书以使用HTTPS协议。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ sudo nano /etc/default/shellinabox
进行配置更改,如下所示…
# Should shellinaboxd start automatically
SHELLINABOX_DAEMON_START=1
# TCP port that shellinboxd's webserver listens on
SHELLINABOX_PORT=6688
# Parameters that are managed by the system and usually should not need
# changing:
# SHELLINABOX_DATADIR=/var/lib/shellinabox
# SHELLINABOX_USER=shellinabox
# SHELLINABOX_GROUP=shellinabox
# Any optional arguments (e.g. extra service definitions). Make sure
# that that argument is quoted.
#
# Beeps are disabled because of reports of the VLC plugin crashing
# Firefox on Linux/x86_64.
SHELLINABOX_ARGS="--no-beep"
# specify the IP address of an SSH server
OPTS="-s /:SSH:192.168.174.170"
# if you want to restrict access to shellinaboxd from localhost only
OPTS="-s /:SSH:192.168.174.170 --localhost-only"
完成配置后,您可以通过发出以下命令重新启动并验证 shellinabox 服务。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ sudo systemctl restart shellinabox
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ sudo systemctl status shellinabox
现在让我们使用 netstat 命令验证 Shellinabox 是否在端口 6688 上运行。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ sudo netstat -nap | grep shellinabox
确保您在防火墙上保护您的shellinabox ,并为特定IP 地址打开 6688 端口以远程访问您的 Linux shell。
------- 在 Debian, Ubuntu 和 Mint -------
$ sudo ufw allow 6175/tcp
$ sudo ufw allow from 192.168.0.103 to any port 6175
------- 在 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
通过 Web 浏览器访问 Linux SSH 终端
现在打开您的网络浏览器,然后导航到 https://Your-IP-Adress:6688。您应该能够看到基于 Web 的 SSH 终端。使用您的用户名和密码登录,您应该会看到 shell 提示符。
您可以右键单击以使用多种功能和操作,包括更改 shell 的外观。
有关详细信息,请访问官方 Shellinabox github 页面。
The post Shell In A Box – 基于 Web 的 SSH 终端,可通过浏览器访问 Linux first appeared on Linux迷.
共有 0 条评论