Shell In A Box - 通过 Web 浏览器访问 Linux SSH 终端

yanding 2023-07-13 240

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 页面。


The End