Shell In A Box - 通過 Web 瀏覽器訪問 Linux SSH 終端

yanding 2023-07-13 451

Shell In A Box(發(fā)音為 shellinabox)是由 Markus Gutschke 開發(fā)的基于 Web 的終端仿真器。內(nèi)置 Web 服務(wù)器,作為基于 Web 的 SSH 客戶端在專用端口上運(yùn)行,并要求您訪問 Web 終端仿真器,以使用 AJAX/JavaScript 和 CSS 遠(yuǎn)程訪問和管理您的 Linux 服務(wù)器 SSH Shell 。無需額外的數(shù)據(jù)庫插件(例如 FireSSH)即可啟用數(shù)據(jù)庫。


在本教程中,我將解釋如何在任何計(jì)算機(jī)上安裝 Shellinabox 并使用現(xiàn)代 Web 瀏覽器訪問遠(yuǎn)程 SSH 終端。當(dāng)您受到防火墻保護(hù)并且只有 HTTPS 流量可以通過時(shí),對(duì) Linux 服務(wù)器的 Web SSH 訪問特別有用。


在 Linux 系統(tǒng)上安裝 Shellinabox

默認(rèn)情況下,Shellinabox 工具使用默認(rèn)包管理器通過默認(rèn)存儲(chǔ)庫安裝在基于 Debian 的 Linux 發(fā)行版上,如圖所示。


$ sudo apt install openssl shellinabox


在基于 Red Hat 的發(fā)行版上,您必須使用以下命令從源安裝它。


# yum install git openssl-devel pam-devel zlib-devel autoconf automake libtool

# git 克隆 https://github.com/shellinabox/shellinabox.git && cd shellinabox

# 自動(dòng)重新配置-i

# ./配置 && 制作

在 Linux 系統(tǒng)中配置 Shellinabox

默認(rèn)情況下,shellinaboxd 偵聽本地主機(jī)上的 TCP 端口 4200。出于安全原因,我隨機(jī)更改了此默認(rèn)端口(即 6175),以使任何人更難訪問您的 SSH 盒子。



此外,在安裝過程中,會(huì)在“/var/lib/shellinabox”下自動(dòng)生成新的自簽名 SSL 證書,以使用 HTTPS 協(xié)議。


$ sudo vi /etc/default/shellinabox

或者

$ sudo nano /etc/default/shellinabox

進(jìn)行配置更改,如下所示...


# shellinaboxd 是否應(yīng)該自動(dòng)啟動(dòng)

SHELLINABOX_DAEMON_START=1


# shellinboxd 的網(wǎng)絡(luò)服務(wù)器監(jiān)聽的 TCP 端口

SHELLINABOX_PORT=6175


# 由系統(tǒng)管理的參數(shù),通常不需要

# 改變:

# SHELLINABOX_DATADIR=/var/lib/shellinabox

# SHELLINABOX_USER=shellinabox

# SHELLINABOX_GROUP=shellinabox


# 任何可選參數(shù)(例如額外的服務(wù)定義)。確保

# 該參數(shù)被引用。

#

# 由于 VLC 插件崩潰的報(bào)告,蜂鳴聲被禁用

# Linux/x86_64 上的 Firefox。

SHELLINABOX_ARGS="--無嘟嘟聲"


# 指定SSH服務(wù)器的IP地址

OPTS =“-s /:SSH:192.168.0.140”


# 如果您想限制僅從本地主機(jī)訪問 shellinaboxd

OPTS =“-s /:SSH:192.168.0.140 --僅本地主機(jī)”

配置完成后,您可以重新啟動(dòng) shellinabox 服務(wù)并通過發(fā)出以下命令進(jìn)行驗(yàn)證。


$ sudo systemctl 重新啟動(dòng) shellinabox

$ sudo systemctl 狀態(tài) shellinabox


現(xiàn)在讓我們使用 netstat 命令檢查 Shellinabox 是否正在端口 6175 上運(yùn)行。


$ sudo netstat -nap | sudo netstat -nap grep shellinabox


確保您已在防火墻上安裝了 shellinabox 標(biāo)頭,并為特定 IP 地址打開 6175 端口以遠(yuǎn)程訪問您的 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 服務(wù)轉(zhuǎn)至 Linux SSH 終端

現(xiàn)在打開瀏覽器,然后導(dǎo)航到 https://Your-IP-Adress:6175。您應(yīng)該能夠訪問基于 Web 的 SSH 終端。使用您的用戶名和密碼登錄,您應(yīng)該會(huì)看到 shell 提示符。



您可以右鍵單擊以使用許多功能和操作,包括更改球體的外觀和感覺。



欲了解更多信息,請(qǐng)?jiān)L問 Shellinabox 的官方 github 頁面。


The End