设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 745|回复: 1
收起左侧

Linux Shell Web超级终端工具shellinabox

[复制链接]
发表于 2019-9-12 20:28:41 | 显示全部楼层 |阅读模式
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: 1penssl-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: 1penssl-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   : 1penssl-libs-1.0.2k-16.el7.x86_64                                                                 1/7
  Updating   : 1penssl-1.0.2k-16.el7.x86_64                                                                      2/7
  Installing : shellinabox-2.20-5.el7.x86_64                                                                       3/7
  Updating   : 1penssl-devel-1.0.2k-16.el7.x86_64                                                                4/7
  Cleanup    : 1penssl-devel-1.0.2k-12.el7.x86_64                                                                5/7
  Cleanup    : 1penssl-1.0.2k-12.el7.x86_64                                                                      6/7
  Cleanup    : 1penssl-libs-1.0.2k-12.el7.x86_64                                                                 7/7
  Verifying  : 1penssl-libs-1.0.2k-16.el7.x86_64                                                                 1/7
  Verifying  : 1penssl-devel-1.0.2k-16.el7.x86_64                                                                2/7
  Verifying  : shellinabox-2.20-5.el7.x86_64                                                                       3/7
  Verifying  : 1penssl-1.0.2k-16.el7.x86_64                                                                      4/7
  Verifying  : 1penssl-devel-1.0.2k-12.el7.x86_64                                                                5/7
  Verifying  : 1penssl-1.0.2k-12.el7.x86_64                                                                      6/7
  Verifying  : 1penssl-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

                               
登录/注册后可看大图


默认60s不登录自动断开


                               
登录/注册后可看大图

登录成功

                               
登录/注册后可看大图


退出web Shell终端:

                               
登录/注册后可看大图


发表于 2019-9-12 21:05:54 | 显示全部楼层




Thanks for sharing   !!!
沙发 2019-9-12 21:05:54 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-4-18 23:39 , Processed in 0.063488 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表