Shell In A Box(发音是shellinabox)是一款基于Web的终端模拟器,由Markus Gutschke开发而成。它有内置的Web服务器,在指定的端口上作为一个基于Web的SSH客户端而运行,可以为你提供一个Web终端模拟器,以便使用任何支持AJAX/JavaScript和CSS的浏览器,远程访问和控制你的Linux服务器SSH外壳,不需要像FireSSH这些任何额外的浏览器插件。

在本教程中,我介绍如何安装Shellinabox,并使用在任何机器上的现代Web浏览器,访问远程SSH终端。如果你由防火墙加以保护,只有HTTP(s)流量才能顺利通过,那么基于Web的SSH非常有用。

将Shellinabox安装在Linux上

默认情况下,借助默认软件库,Shellinabox工具已包含在许多Linux发行版上,其中包括Debian、Ubuntu和Linux Mint。

确保你的软件库已启用,并可以用来从该软件库安装Shellinabox。为了核实,请使用"apt-cache"命令搜索Shellinabox,然后使用"apt-get"命令来安装它。

在Debian、Ubuntu和Linux Mint上:

  • $ sudo apt-cache search shellinabox

  • $ sudo apt-get install openssl shellinabox

在RHEL、CentOS和Fedora上:

在基于红帽的发行版上,你需要先启用EPEL软件库,然后使用下面这个"yum"命令来安装它。(Fedora用户不需要启用EPEL软件库,因为它已经是Fedora项目的一部分。)

# yum install openssl shellinabox

配置Shellinabox

默认情况下,shellinaboxd侦听本地主机上的TCP端口4200。出于安全方面的原因,我将这个默认端口改成了随机端口(比如端口6175),那样任何人都很难企及你的SSH设备。此外,在安装过程中,一个新的自签名SSL证书会在"/var/lib/shellinabox"下自动创建,以便使用HTTPS协议。

在Debian、Ubuntu和Linux Mint上:

$ sudo vi /etc/default/shellinabox # shellinboxd的Web服务器侦听的TCP端口 SHELLINABOX_PORT=6175 # 指定目的地SSH服务器的IP地址 SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125" # 如果你想限制只能从本地主机访问shellinaboxd SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125 --localhost-only"

在RHEL、CentOS和Fedora上:

# vi /etc/sysconfig/shellinaboxd  # shellinboxd的Web服务器侦听的TCP端口  PORT=6175  # 指定目的地SSH服务器的IP地址  OPTS="-s /:SSH:172.16.25.125"  # 如果你想限制只能从本地主机访问shellinaboxd  OPTS="-s /:SSH:172.16.25.125 --localhost-only"  启动Shellinabox 一旦你完成了配置工作,就可以使用下面这个命令,启动这项服务。

在Debian、Ubuntu和Linux Mint上:


$ sudo service shellinaboxd start

在RHEL和CentOS上:

# service shellinaboxd start

在Fedora上:

# systemctl enable shellinaboxd.service # systemctl start shellinaboxd.service 验证Shellinabox 现在不妨使用"netstat"这个命令,验证Shellinabox是否在端口6175上运行。 $ sudo netstat -nap | grep shellinabox or # netstat -nap | grep shellinabox tcp        0      0 0.0.0.0:6175            0.0.0.0:*               LISTEN      12274/shellinaboxd

现在打开你的浏览器,浏览到https://Your-IP-Adress:6175。你应该能够看到一个基于Web的SSH终端。使用你的用户名和密码进行登录,你应该会看到外壳提示符。


Shell In A Box:一款访问远程Linux服务器的SSH终端


Shellinabox SSH登录


Shell In A Box:一款访问远程Linux服务器的SSH终端


Shellinabox SSH外壳


Shell In A Box:一款访问远程Linux服务器的SSH终端


Shellinabox SSH退出

你可以右击鼠标,使用几项特性和操作,包括更改外壳的外观和感觉。


Shell In A Box:一款访问远程Linux服务器的SSH终端


Shellinabox的更多选项


确保你通过防火墙保障shellinabox,并且针对特定的IP地址打开6175端口,以便远程访问你的Linux外壳。

参考链接:Shellinabox的主页

原文链接:http://www.tecmint.com/shell-in-a-box-a-web-based-ssh-terminal-to-access-remote-linux-servers/