Shell In A Box - 通过 Web 浏览器访问 Linux SSH 终端
Shell In A Box(发音为 shellinabox)是由 Markus Gutschke 开发的基于 Web 的终端仿真器。内置 Web 服务器,作为基于 Web 的 SSH 客户端在专用端口上运行,并要求您访问 Web 终端仿真器,以使用 AJAX/JavaScript 和 CSS 远程访问和管理您的 Linux 服务器 SSH Shell 。无需额外的数据库插件(例如 FireSSH)即可启用数据库。
在本教程中,我将解释如何在任何计算机上安装 Shellinabox 并使用现代 Web 浏览器访问远程 SSH 终端。当您受到防火墙保护并且只有 HTTPS 流量可以通过时,对 Linux 服务器的 Web SSH 访问特别有用。
在 Linux 系统上安装 Shellinabox
默认情况下,Shellinabox 工具使用默认包管理器通过默认存储库安装在基于 Debian 的 Linux 发行版上,如图所示。
$ sudo apt install openssl shellinabox
在基于 Red Hat 的发行版上,您必须使用以下命令从源安装它。
# yum install git openssl-devel pam-devel zlib-devel autoconf automake libtool
# git 克隆 https://github.com/shellinabox/shellinabox.git && cd shellinabox
# 自动重新配置-i
# ./配置 && 制作
在 Linux 系统中配置 Shellinabox
默认情况下,shellinaboxd 侦听本地主机上的 TCP 端口 4200。出于安全原因,我随机更改了此默认端口(即 6175),以使任何人更难访问您的 SSH 盒子。
此外,在安装过程中,会在“/var/lib/shellinabox”下自动生成新的自签名 SSL 证书,以使用 HTTPS 协议。
$ sudo vi /etc/default/shellinabox
或者
$ sudo nano /etc/default/shellinabox
进行配置更改,如下所示...
# shellinaboxd 是否应该自动启动
SHELLINABOX_DAEMON_START=1
# shellinboxd 的网络服务器监听的 TCP 端口
SHELLINABOX_PORT=6175
# 由系统管理的参数,通常不需要
# 改变:
# SHELLINABOX_DATADIR=/var/lib/shellinabox
# SHELLINABOX_USER=shellinabox
# SHELLINABOX_GROUP=shellinabox
# 任何可选参数(例如额外的服务定义)。确保
# 该参数被引用。
#
# 由于 VLC 插件崩溃的报告,蜂鸣声被禁用
# Linux/x86_64 上的 Firefox。
SHELLINABOX_ARGS="--无嘟嘟声"
# 指定SSH服务器的IP地址
OPTS =“-s /:SSH:192.168.0.140”
# 如果您想限制仅从本地主机访问 shellinaboxd
OPTS =“-s /:SSH:192.168.0.140 --仅本地主机”
配置完成后,您可以重新启动 shellinabox 服务并通过发出以下命令进行验证。
$ sudo systemctl 重新启动 shellinabox
$ sudo systemctl 状态 shellinabox
现在让我们使用 netstat 命令检查 Shellinabox 是否正在端口 6175 上运行。
$ sudo netstat -nap | sudo netstat -nap grep shellinabox
确保您已在防火墙上安装了 shellinabox 标头,并为特定 IP 地址打开 6175 端口以远程访问您的 Linux shell。
------- 在Debian、Ubuntu 和 Mint上-------
$ 须藤 ufw 允许 6175/tcp
$ sudo ufw 允许从 192.168.0.103 到任何端口 6175
------- 在RHEL/CentOS/Fedora和Rocky Linux/AlmaLinux上-------
$ sudo 防火墙-cmd --zone=public --add-port=6175/tcp
$ sudo 防火墙-cmd --zone=public --add-source=192.168.0.103/6175 --permanent
通过 Web 服务转至 Linux SSH 终端
现在打开浏览器,然后导航到 https://Your-IP-Adress:6175。您应该能够访问基于 Web 的 SSH 终端。使用您的用户名和密码登录,您应该会看到 shell 提示符。
您可以右键单击以使用许多功能和操作,包括更改球体的外观和感觉。
欲了解更多信息,请访问 Shellinabox 的官方 github 页面。