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
在 Ubuntu 中安装 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
在 Linux 中启动 Shellinabox

现在让我们使用 netstat 命令验证 Shellinabox 是否在端口 6688 上运行。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
⚡ sudo netstat -nap | grep shellinabox

检查 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 提示符。

在 Web 浏览器中访问 Linux SSH 终端
从 Web 浏览器监控 Linux

您可以右键单击以使用多种功能和操作,包括更改 shell 的外观。

Shellinabox 选项和用法

有关详细信息,请访问官方 Shellinabox github 页面。

The post Shell In A Box – 基于 Web 的 SSH 终端,可通过浏览器访问 Linux first appeared on Linux迷.

版权声明:
作者:siwei
链接:https://www.techfm.club/p/37753.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>