文档章节

Linux-Shell-Web超级终端工具shellinabox

l
 linux-tao
发布于 2019/09/12 09:26
字数 1715
阅读 54
收藏 0

3 月,跳不动了?>>>

Linux Shell Web超级终端工具shellinabox

ShellLinux内核应用程序,是指“为使用者提供操作界面”的软件,也是命令解析器,它类似于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终端:

© 著作权归作者所有

l
粉丝 21
博文 1008
码字总数 1130720
作品 0
深圳
运维
私信 提问
加载中

评论(0)

Ubuntn16 部署shellinabox--web shell工具

shellinabox简介 通常情况下,我们在访问任何远程服务器时,会使用常见的通信工具如OpenSSH和Putty等。但是,有可能我们在防火墙后面不能使用这些工具访问远程系统,或者防火墙只允许HTTPS流...

AltBoy
2017/08/14
0
0
Web SSH利器之shellinabox

关于web ssh,当下比较火的是gate one,问题是我看了一眼官方的部署过程后就放弃了,需要外部源,各种依赖包,有些包可能还需要源码编译,框架有点大,不能一键安装,完全不符合我这种懒人的...

China_OS
2014/02/22
1.2W
3
weh shell高大上?一文教你实现

weh shell高大上?一文教你实现 一、概述 在很多堡垒机、IT审计等平台中,基本上都会带上一个web版的ssh,实现了用户能在web界面对服务器进行shell操作。又或者我们在防火墙后面不能使用这些...

运维少年
2019/06/03
0
0
iTOP-4412开发板基于Linux-C测试程序的编译和运行

iTOP-4412 开发板可以运行的文件系统很多,在具体的文件系统上实现特定功能前,可 以使用 Linux-C 程序来测试硬件以及驱动。而且这些程序很容易移植到 Android、Qt/E 以及 最小文件系统上。 ...

书白
2019/07/22
46
0
内核编译 出错 arm-linux-gcc: not found

原因:在安装交叉编译器时没有写入环境变量找不到gcc编译器。或者是写入了环境变量却没有导入系统。 首先安装交叉编译器:forlinx的arm-linux-gcc.4.3.2.tgz拷贝到/usr/local/arm 在/usr/lo...

cicue
2013/12/04
153
0

没有更多内容

加载失败,请刷新页面

加载更多

C语言动态内存分配:(一)malloc/free的实现及malloc实际分配/释放的内存

一、malloc/free概述 malloc是在C语言中用于在程序运行时在堆中进行动态内存分配的库函数。free是进行内存释放的库函数。 1、函数原型 #include <stdlib.h> void *malloc( size_t size ); v...

shzwork
40分钟前
17
0
什么是JavaBean? - What is a JavaBean exactly?

问题: I understood, I think, that a "Bean" is a Java class with properties and getters/setters. 我认为,“ Bean”是具有属性和getter / setter的Java类。 As much as I understand,......

技术盛宴
47分钟前
21
0
深圳援鄂最后一批工作人员归来,88万元关爱金发放至85人

中国公益在线3月31日深圳讯 深圳援鄂最后一批工作人员归来......深圳市民政局、深圳市卫健委和深圳市慈善会发起了“深爱战疫天使基金”项目,联合龙华区慈善会和 永贤慈善基金会,进行第二次...

传承天下融媒体中心
51分钟前
15
0
easyui 的combobox设置宽度和高度自动适应,如果超出,则指定宽度和高度

<s:select list="newCostTypeMap" theme="simple" cssClass="myCombobox" cssStyle="width:200px" data-options="editable:false,panelHeight:'auto'" />$('.myCombobox').combobox({......

文文1
52分钟前
17
0
Scala的运算符

在Scala中运算符的表示法不局限于字符, 中缀运算符可以是任何方法接受参数的方法 前缀运算符放在值的前面,只能是 + - ! ~ 四者之一, 方法名为unary_*(*为运算符) 后缀运算符是任何不接受参...

dreamness
今天
23
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部