Shell是Linux内核应用程序,是指“为使用者提供操作界面”的软件,也是命令解析器,它类似于Windows操作系统DOS下的cmd.exe应用程序。它接收用户命令,然后调用相应的应用程序,用户一般管理Linux服务器都是习惯用putty、Xshell、SecureCRT、secure shell等客户端端工具,但是使用这些客户端都是需要在本地安装后才能使用,如果换其它电脑也是需要重新安装,这样非常使用起来非常麻烦,所以,我们今天就来介绍一块非常方便的shell客户端工具,使用系统自带的浏览器来管理Linux服务终端,是一款能随时在任何终端上面管理,这一款运行在linux下面的工具 shellinabox,只需要在Linux服务器上面安装并配置好shellinabox。

shellinabox是由Markus Gutschke创建的基于Web的终端模拟器。它具有内置的Shell Web服务端,在指定端口上作为基于Web的SSH客户端运行,并提示您使用任何支持AJAX/JavaScript和CSS的浏览器远程访问和控制Linux Server SSH Shell,而无需任何其他浏览器插件,使用非常方便,不过安装和配置是需要有点点Linux基础,如果觉得自己完全不懂Linux,可以建议去购买《Linux就该这么学》这本教程,非常适合初学者入门,或者去此教程的官网查看详细的资料,直接在百度输入此书名就可以直接进入官网。

shellinbox是一款在Linux服务器下有一个内建的web server作为基本的web ssh client,允许你通过指定的端口访问linux服务器的ssh shell,只要你的浏览器支持AJAX/JS/CSS就可以访问,不过现在主流的操作系统自带的浏览器都支持,shellinabox是一款开源的轻量级软件,在安装shellinabox之前要确定Linux服务端是否安装了openssl库;debian和ubuntu官方还提供有deb安装包,而centos也有rpm包,也可以通过yum源安装,安装及配置也比较简单,下面我们来详细的安装和配置shellinabox。

一、在RHEL、 CentOS系统上面安装及配置步骤如下

# yum install openssl shellinabox

Loaded plugins: fastestmirror

Determining fastest mirrors

epel/x86_64/metalink                                                                            | 9.2 kB  00:00:00

* base: mirrors.aliyun.com

* epel: mirrors.aliyun.com

* extras: mirrors.aliyun.com

* updates: mirrors.aliyun.com

base                                                                                            | 3.6 kB  00:00:00

epel                                                                                            | 3.2 kB  00:00:00

extras                                                                                          | 3.4 kB  00:00:00

updates                                                                                         | 3.4 kB  00:00:00

(1/6): extras/7/x86_64/primary_db                                                               | 156 kB  00:00:00

(2/6): base/7/x86_64/group_gz                                                                   | 166 kB  00:00:01

(3/6): epel/x86_64/updateinfo                                                                   | 940 kB  00:00:08

(4/6): updates/7/x86_64/primary_db                                                              | 1.3 MB  00:00:10

(5/6): epel/x86_64/primary                                                                      | 3.6 MB  00:00:21

(6/6): base/7/x86_64/primary_db                                                                 | 6.0 MB  00:00:26

epel                                                                                                       12745/12745

Resolving Dependencies

--> Running transaction check

---> Package openssl.x86_64 1:1.0.2k-12.el7 will be updated

---> Package openssl.x86_64 1:1.0.2k-16.el7 will be an update

--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.2k-16.el7 for package: 1:openssl-1.0.2k-16.el7.x86_64

---> Package shellinabox.x86_64 0:2.20-5.el7 will be installed

--> Running transaction check

---> Package openssl-libs.x86_64 1:1.0.2k-12.el7 will be updated

--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.2k-12.el7 for package: 1:openssl-devel-1.0.2k-12.el7.x86_64

---> Package openssl-libs.x86_64 1:1.0.2k-16.el7 will be an update

--> Running transaction check

---> Package openssl-devel.x86_64 1:1.0.2k-12.el7 will be updated

---> Package openssl-devel.x86_64 1:1.0.2k-16.el7 will be an update

--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================

Package                        Arch                    Version                            Repository             Size

======================================================================================

Installing:

shellinabox                    x86_64                  2.20-5.el7                         epel                  136 k

Updating:

openssl                        x86_64                  1:1.0.2k-16.el7                    base                  493 k

Updating for dependencies:

openssl-devel                  x86_64                  1:1.0.2k-16.el7                    base                  1.5 M

openssl-libs                   x86_64                  1:1.0.2k-16.el7                    base                  1.2 M

Transaction Summary

======================================================================================

Install  1 Package

Upgrade  1 Package (+2 Dependent packages)

Total download size: 3.3 M

Is this ok [y/d/N]:y

Downloading packages:

No Presto metadata available for base

(1/4): openssl-1.0.2k-16.el7.x86_64.rpm                                                         | 493 kB  00:00:01

(2/4): shellinabox-2.20-5.el7.x86_64.rpm                                                        | 136 kB  00:00:01

(3/4): openssl-devel-1.0.2k-16.el7.x86_64.rpm                                                   | 1.5 MB  00:00:05

(4/4): openssl-libs-1.0.2k-16.el7.x86_64.rpm                                                    | 1.2 MB  00:00:05

-----------------------------------------------------------------------------------------------------------------------

Total                                                                                  469 kB/s | 3.3 MB  00:00:07

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

Updating   : 1:openssl-libs-1.0.2k-16.el7.x86_64                                                                 1/7

Updating   : 1:openssl-1.0.2k-16.el7.x86_64                                                                      2/7

Installing : shellinabox-2.20-5.el7.x86_64                                                                       3/7

Updating   : 1:openssl-devel-1.0.2k-16.el7.x86_64                                                                4/7

Cleanup    : 1:openssl-devel-1.0.2k-12.el7.x86_64                                                                5/7

Cleanup    : 1:openssl-1.0.2k-12.el7.x86_64                                                                      6/7

Cleanup    : 1:openssl-libs-1.0.2k-12.el7.x86_64                                                                 7/7

Verifying  : 1:openssl-libs-1.0.2k-16.el7.x86_64                                                                 1/7

Verifying  : 1:openssl-devel-1.0.2k-16.el7.x86_64                                                                2/7

Verifying  : shellinabox-2.20-5.el7.x86_64                                                                       3/7

Verifying  : 1:openssl-1.0.2k-16.el7.x86_64                                                                      4/7

Verifying  : 1:openssl-devel-1.0.2k-12.el7.x86_64                                                                5/7

Verifying  : 1:openssl-1.0.2k-12.el7.x86_64                                                                      6/7

Verifying  : 1:openssl-libs-1.0.2k-12.el7.x86_64                                                                 7/7

Installed:

shellinabox.x86_64 0:2.20-5.el7

Updated:

openssl.x86_64 1:1.0.2k-16.el7

Dependency Updated:

openssl-devel.x86_64 1:1.0.2k-16.el7                       openssl-libs.x86_64 1:1.0.2k-16.el7

Complete!

二、配置shellinaboxd

192.168.3.160是SSH服务器IP地址,

# vim /etc/sysconfig/shellinaboxd

# TCP port that shellinboxd's webserver listens on

PORT=6175

# specify the IP address of a destination SSH server

OPTS="-s /:SSH:192.168.3.160" #(https协议)

#OPTS="-t -s /:SSH:192.168.3.160" #(http协议)

# if you want to restrict access to shellinaboxd from localhost only

#下面配置是仅主机访问,其它主机不能访问

#OPTS="-s /:SSH:192.168.3.160 --localhost-only"

shellinaboxd默认端口是:4200,我这里修改为6175。

Shellinaboxd常用参数使用的帮助手册

# shellinaboxd --help

List of command line options:

-b, --background[=PIDFILE]  run in background

-c, --cert=CERTDIR          set certificate dir (default: $PWD)

--cert-fd=FD            set certificate file from fd

--css=FILE              attach contents to CSS style sheet

--cgi[=PORTMIN-PORTMAX] run as CGI

-d, --debug                 enable debug mode

-f, --static-file=URL:FILE  serve static file from URL path

-g, --group=GID             switch to this group (default: nobody)

-h, --help                  print this message

--linkify=[none|normal|aggressive] default is "normal"

--localhost-only        only listen on 127.0.0.1

--no-beep               suppress all audio output

-n, --numeric               do not resolve hostnames

-m, --messages-origin=ORIGIN allow iframe message passing from origin

--pidfile=PIDFILE       publish pid of daemon process

-p, --port=PORT             select a port (default: 4200)

-s, --service=SERVICE       define one or more services

-t, --disable-ssl           disable transparent SSL support

--disable-ssl-menu      disallow changing transport mode

--disable-utmp-logging  disable logging to utmp and wtmp

-q, --quiet                 turn off all messages

--unixdomain-only=PATH:USER:GROUP:CHMOD listen on unix socket

-u, --user=UID              switch to this user (default: nobody)

--user-css=STYLES       defines user-selectable CSS options

-v, --verbose               enable logging messages

--version               prints version information

--disable-peer-check    disable peer check on a session

三、启动、停止、自启动服务

Centos 6

# service shellinaboxd start                   //启动服务

# service shellinaboxd stop               //停止服务

# service shellinaboxd restart            //重启服务

# chkconfig shellinaboxd on               //自启服务

Centos 7

# systemctl start shellinaboxd.service

# systemctl stop shellinaboxd.service

# systemctl restart shellinaboxd.service

# systemctl enable shellinaboxd.service

强制关闭 Shellinaboxd

查找到 Shellinaboxd 的进程 pid ,kill 即可

# ps -aux|grep shellinaboxd | grep -v grep | awk ‘{print $1}’

也可在启动时加上 -p 参数,将进程 pid 保存到指定的文件中,需要关闭时读取它并进行 kill

四、查看服务状态

# netstat -nap | grep shellinabox

tcp      0      0 0.0.0.0:6175    0.0.0.0:*     LISTEN     118916/shellinaboxd

https://192.168.3.160:6175/

默认60s不登录自动断开

登录成功

退出web Shell终端:
————————————————
版权声明:本文为CSDN博主「wuxiangping2017」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014389734/article/details/100763924

Linux Shell Web超级终端工具shellinabox的更多相关文章

  1. web模拟终端 --使用shellinabox

    关于shellinabox ShellInABox实现了一个Web服务器,可以将任意命令行工具导出到基于Web的终端仿真器.任何支持JavaScript和CSS的Web浏览器都可以访问此模拟器,并且不 ...

  2. linux下web压力测试工具ab使用及详解

    APACHE自带的测试工具AB(apache benchmark).在APACHE的bin目录下.格式: ./ab [options] [http://]hostname[:port]/path参数: ...

  3. Linux shell实战(ipcs工具)

    #!/bin/bash -o $# -gt ] then echo "参数个数不正确!" exit - fi WHOAIM=`whoami` function release { ...

  4. Linux Shell常用技巧(一) RE

    一.    特殊文件: /dev/null和/dev/tty Linux系统提供了两个对Shell编程非常有用的特殊文件,/dev/null和/dev/tty.其中/dev/null将会丢掉所有写入它 ...

  5. Linux Shell常用技巧(一)

    一.    特殊文件: /dev/null和/dev/tty Linux系统提供了两个对Shell编程非常有用的特殊文件,/dev/null和/dev/tty.其中/dev/null将会丢掉所有写入它 ...

  6. Linux Shell常用技巧

    转载自http://www.cnblogs.com/stephen-liu74/ 一.    特殊文件: /dev/null和/dev/tty Linux系统提供了两个对Shell编程非常有用的特殊文 ...

  7. [转帖]拿小本本记下的Linux Shell常用技巧(一)

    拿小本本记下的Linux Shell常用技巧(一) https://zhuanlan.zhihu.com/p/73361101 一. 特殊文件: /dev/null和/dev/tty Linux系统提 ...

  8. Linux命令行–初识Linux shell

    shell及脚本简介  GNU/Linux shell 是个交互工具,它为用户提供了启动程序.管理文件系统上的文件以及管理运行在Linux系统上的进程的途径 . shell的核心是命令行提示符 它是s ...

  9. Android系统在超级终端下必会的命令大全(adb shell命令大全)

    . 显示系统中全部Android平台: android list targets . 显示系统中全部AVD(模拟器): android list avd . 创建AVD(模拟器): android c ...

随机推荐

  1. 修改注册表打开PDF内嵌的zip等文件

    今天在打开一个 PDF 文件的时候,发现文件里面嵌入的 .zip 文件无法打开.当然 .png 之类的文件还是可以打开的.网上的各种“信任管理器”白名单方法都是无效的.后来查了官网说明,得知是因为这类 ...

  2. Mybatis batch 批量处理

    @Testpublic void batch() throws IOException { InputStream inputStream= Resources.getResourceAsStream ...

  3. poj1905 Expanding Rods(二分)

    题目链接:https://vjudge.net/problem/POJ-1905 题意:有一根长len的木棍,加热了n度,长度会膨胀为len*(1+n*c),c为膨胀系数.现在把这根木棍夹在两堵墙之间 ...

  4. 【LOJ】#3090. 「BJOI2019」勘破神机

    LOJ#3090. 「BJOI2019」勘破神机 为了这题我去学习了一下BM算法.. 很容易发现这2的地方是\(F_{1} = 1,F_{2} = 2\)的斐波那契数列 3的地方是\(G_{1} = ...

  5. Atomic long 和long的区别

    Atomic long 和long: 前者是一个对象,包含对象头(object header)以用来保存hashcode.lock等信息,32位系统占用8个字节,64位系统占16个字节,所以在64位系 ...

  6. acm 2015北京网络赛 F Couple Trees 树链剖分+主席树

    Couple Trees Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/problemset/problem/123 ...

  7. 树莓派3b 串口乱码的一个解决思路

    首先确认波特率设置正确,为115200 向microSD卡中烧录树莓派官方的镜像后,先不要急着把它插入树莓派中. 在电脑上打开microSD卡,按如下方式修改config.txt和cmdline.tx ...

  8. T100——单据别的新增、修改设置

    何为单据别,例如下图,新增的时候开窗选择单据别: 新增单据别: 1.首先在azzi600 系统分类码维护作业里面新增新的系统分类码(在系统分类码24下新增),如图: 2.在azzi910 作业基本数据 ...

  9. sql之游标

    --select * from   master..sysprocessesuse testdeclare my_cursor cursor scroll dynamic --scroll表示可以向前 ...

  10. Jmeter之Linux安装(Xshell),分布式运行Linux作为slave机

    甲方爸爸要求,用Linux压测......   所以在公司服务器Linux上搭建Jmeter 但实际一个Jmeter程序也有程序瓶颈~ 所以在Jmeter瓶颈下,搭建分布式压测系统.(也许可以尝试在一 ...