Linux Shell Web超级终端工具shellinabox
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的更多相关文章
- web模拟终端 --使用shellinabox
关于shellinabox ShellInABox实现了一个Web服务器,可以将任意命令行工具导出到基于Web的终端仿真器.任何支持JavaScript和CSS的Web浏览器都可以访问此模拟器,并且不 ...
- linux下web压力测试工具ab使用及详解
APACHE自带的测试工具AB(apache benchmark).在APACHE的bin目录下.格式: ./ab [options] [http://]hostname[:port]/path参数: ...
- Linux shell实战(ipcs工具)
#!/bin/bash -o $# -gt ] then echo "参数个数不正确!" exit - fi WHOAIM=`whoami` function release { ...
- Linux Shell常用技巧(一) RE
一. 特殊文件: /dev/null和/dev/tty Linux系统提供了两个对Shell编程非常有用的特殊文件,/dev/null和/dev/tty.其中/dev/null将会丢掉所有写入它 ...
- Linux Shell常用技巧(一)
一. 特殊文件: /dev/null和/dev/tty Linux系统提供了两个对Shell编程非常有用的特殊文件,/dev/null和/dev/tty.其中/dev/null将会丢掉所有写入它 ...
- Linux Shell常用技巧
转载自http://www.cnblogs.com/stephen-liu74/ 一. 特殊文件: /dev/null和/dev/tty Linux系统提供了两个对Shell编程非常有用的特殊文 ...
- [转帖]拿小本本记下的Linux Shell常用技巧(一)
拿小本本记下的Linux Shell常用技巧(一) https://zhuanlan.zhihu.com/p/73361101 一. 特殊文件: /dev/null和/dev/tty Linux系统提 ...
- Linux命令行–初识Linux shell
shell及脚本简介 GNU/Linux shell 是个交互工具,它为用户提供了启动程序.管理文件系统上的文件以及管理运行在Linux系统上的进程的途径 . shell的核心是命令行提示符 它是s ...
- Android系统在超级终端下必会的命令大全(adb shell命令大全)
. 显示系统中全部Android平台: android list targets . 显示系统中全部AVD(模拟器): android list avd . 创建AVD(模拟器): android c ...
随机推荐
- sizeof和strlen函数区别
一.sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组.指针.类型.对象.函数等. 它的功能是:获得保 ...
- FlexBox布局的重要属性
/** * Sample React Native App * https://github.com/facebook/react-native * @flow */ import React, { ...
- redis开启持久化、redis 数据备份与恢复
redis持久化介绍 https://segmentfault.com/a/1190000015897415 1. 开启aof持久化.以守护进程启动.远程访问先把配置文件拷贝一份到/etc/redi ...
- AES加密解密 加密解密使用
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Sec ...
- 完整搭建一个vue项目
目录 一. 搭建一个vue项目的完整步骤 二. 卸载vue-cli 三. 完全卸载webpack 一. 搭建一个vue项目的完整步骤 1.安装node.js 下载地址 # 检查是否安装成功 node ...
- vue中父组件调用子组件的方法
原文地址 文章目录 什么是组件? 使用组件 组件 什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自 ...
- SQL引擎及事务支持
查看当前表引擎 SHOW CREATE TABLE table_name MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类 ...
- ERROR 2002 (HY000): Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) "
找不到mysql.sock这个文件 如果在你操作安装提示创建该文件,重启服务器还是提示这个错误可以试一下 mysql -uroot -h 127.0.0.1 -p 应该是可以直接进入 具体处理方法 重 ...
- 使用nginx部署项目的相关资料
1.简单的利用nginx部署前端项目 2.ubuntu 下 Nginx 的安装和配置 3.nginx配置文件nginx.conf超详细讲解 4.Nginx 安装与部署配置以及Nginx和uWSGI开机 ...
- 【转帖】Istio是啥?一文带你彻底了解!
Istio是啥?一文带你彻底了解! http://www.sohu.com/a/270131876_463994 原始位置来源: https://cizixs.com 如果你比较关注新兴技术的话,那么 ...