shellinabox管理Linux服务(webssh)

我们通常使用众所周知的通信工具(如OpenSSH和Putty等)访问任何远程服务器。但是,有一件重要的事情是,我们不能使用防火墙或只允许HTTPS流量的防火墙后面的工具访问远程系统。别担心!我们仍然有一些选项可以访问您的远程系统,即使您在防火墙后面。此外,您不需要安装任何通信工具,如OpenSSH或Putty。您只需要一个启用JavaScript和CSS的现代浏览器。而且您也不需要安装任何插件或第三方软件。

在一个盒子里遇见Shell,读作shellinabox,一个免费的,开源的,基于Web的AJAX终端模拟器,由Markus Gutschke开发。它使用AJAX技术通过Web浏览器提供本机shell的外观和感觉。shellinaboxd守护程序实现在指定端口上侦听的Web服务器。Web服务器发布一个或多个服务,这些服务将显示在作为AJAX web应用程序实现的VT100模拟器中。缺省情况下,端口为4200。您可以将默认端口更改为您选择的任何随机端口号。在要从本地系统访问的所有远程服务器上安装shellinabox后,打开Web浏览器并导航到:http://IP-地址:4200/。输入用户名和密码,然后开始使用远程系统的shell。

虽然从centos7/rhel7以后,可以使用cockpit进行web管理,里面也带有一个web终端,不过该终端无法复制粘贴,所以也不是一个好的选择。

安装使用

# yum install epel-release
# yum install shellinabox

In Debian/Ubuntu:
$ sudo vi /etc/default/shellinabox

In RHEL/CentOS/Fedora:
# vi /etc/sysconfig/shellinaboxd

# firewall-cmd --permanent --add-port=4200/tcp
# firewall-cmd --reload

shellinabox默认监听端口4200。您可以将此端口更改为任意选择的随机数,以使任何人都难以猜测。默认情况下,在Debian/Uubuntu系统中,shellinabox配置文件位于/etc/default/shellinabox文件中。在RHEL/CentOS/Fedora中,配置文件的默认位置是/etc/sysconfig/shellinaboxd。

配置文件内容参考如下:

# Should shellinaboxd start automatically
SHELLINABOX_DAEMON_START=1

# TCP port that shellinboxd's webserver listens on
SHELLINABOX_PORT=6175

# 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.0.140"

# if you want to restrict access to shellinaboxd from localhost only
OPTS="-s /:SSH:192.168.0.140 --localhost-only"

最终界面见下图,不过需要注意的是,部分云厂商由于做了安全加固,无法直接使用root用户进行登录,需要通过普通用户切换为root。

shellinabox

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注