1. Shellinabox介绍

Shellinabox是一个利用Ajax技术构建的基于Web浏览器的远程终端模拟器,也就是说安装了该软件之后,服务器端不需要开启ssh服务,通过Web浏览器就可以对远程主机进行操作,但是你的web浏览器需要支持AJAX/Javascript和CSS,因此可以用http://localhost:4200来登录到你的系统,并且默认情况下启用了SSL/TLS证书,需要用https://localhost:4200来登录。

默认情况下shellinabox使用的是TCP协议的4200端口,因此如果你的系统启用了防火墙的话,请放行4200端口。

2. Shellinabox安装和配置

2.1 shellinabox的安装

shellinabox软件包有源码包和rpm包,最简单的方式就是通过rpm包进行安装。

rpm包:

http://pkgs.org/centos-6/epel-x86_64/shellinabox-2.14-24.git88822c1.el6.x86_64.rpm.html

2.1.1 rpm包的安装

将下载后的rpm包上传到系统后,直接使用yum install -y shellinabox-*或者是rpm -ivh shellinabox进行安装即可。

[root@server1software]# yum install -y shellinabox-2.14-24.git88822c1.el6.x86_64.rpm

2.1.2 源码包安装

解压:

[root@server2 software]#tar -zxvf shellinabox-2.10.tar.gz

进入到解压目录,编译和安装:

[root@server2software]# cd shellinabox-2.10

[root@server2shellinabox-2.10]# ./configure && make && make install

在编译的时候还可以使用--prefix指定安装路径。

如:

./configure  --prefix=/usr/local/shellinabox

则安装时将会安装在/usr/local/shellinabox目录下,如果不指定的话,则默认会安装到/usr/local/bin目录下。

2.2 shellinabox的配置

采用不同的方式安装shellinabox时,其配置文件也在不同的位置。

2.2.1 采用rpm方式安装时配置文件

如果安装的是rpm包的话,则可以用rpm -ql shellinabox查看该软件安装了哪些文件,并显示这些文件所在的位置。

[root@server1 ~]#rpm -ql shellinabox

/etc/rc.d/init.d/shellinaboxd

/etc/sysconfig/shellinaboxd

/usr/sbin/shellinaboxd

/usr/share/doc/shellinabox-2.14

/usr/share/doc/shellinabox-2.14/AUTHORS

/usr/share/doc/shellinabox-2.14/COPYING

/usr/share/doc/shellinabox-2.14/GPL-2

/usr/share/doc/shellinabox-2.14/NEWS

/usr/share/doc/shellinabox-2.14/README

/usr/share/doc/shellinabox-2.14/README.Fedora

/usr/share/doc/shellinabox-2.14/print-styles.css

/usr/share/doc/shellinabox-2.14/shell_in_a_box.js

/usr/share/doc/shellinabox-2.14/styles.css

/usr/share/man/man1/shellinaboxd.1.gz

/usr/share/shellinabox

/usr/share/shellinabox/color.css

/usr/share/shellinabox/monochrome.css

/usr/share/shellinabox/white-on-black.css

/var/lib/shellinabox

[root@server1 ~]#

其中/etc/sysconfig/shellinaboxd是其配置文件。并且还会创建一个shellinabox的用户作为启动该服务的用户。

[root@server1 ~]#grep shellinabox /etc/passwd

shellinabox:x:495:492:Shellinabox:/var/lib/shellinabox:/sbin/nologin

[root@server1 ~]#

默认情况下/etc/sysconfig/shellinaboxd的内容如下:

[root@server1 ~]#more /etc/sysconfig/shellinaboxd

# Shell in a boxdaemon configuration

# For details seeshellinaboxd man page

# Basic options

USER=shellinabox

GROUP=shellinabox

CERTDIR=/var/lib/shellinabox

PORT=4200

OPTS="--disable-ssl-menu-s /:LOGIN"

# Additionalexamples with custom options:

# Fancyconfiguration with right-click menu choice for black-on-white:

#OPTS="--user-css Normal:+black-on-white.css,Reverse:-white-on-black.css--disable-ssl-menu -s /:LOGIN"

# Simpleconfiguration for running it as an SSH console with SSL disabled:

# OPTS="-t -s/:SSH:host.example.com"

[root@server1 ~]#

注释:

USER和GROUP:指定以哪个用户和组启动该服务。

CERTDIR:指定存放SSL证书的目录。

PORT:指定shellinaboxd服务的监听端口。默认为4200.

OPTS:设置一些其他的参数。

常用的opts如下:

-t:关闭SSL/TLS的支持。也就是不需要使用HTTPS连接,可以直接用http连接。

服务的启动与停止:

/etc/init.d/shellinaboxd  start

/etc/init.d/shellinaboxd  restart

/etc/init.d/shellinaboxd  stop

观察服务监听的端口:

[root@server1 ~]#netstat -tnlp | grep shellinabox

tcp        0     0 0.0.0.0:4200               0.0.0.0:*                   LISTEN      22455/shellinaboxd

[root@server1 ~]#

设置服务的开机自动启动:

[root@server1 ~]#chkconfig shellinaboxd --level 35 on

[root@server1 ~]#chkconfig --list | grep shellinaboxd

shellinaboxd    0:off  1:off   2:off   3:on   4:on    5:on    6:off

[root@server1 ~]#

2.2.2 采用源码包安装时启动服务的指令

当采用源码包安装shellinabox时,启动服务的方式如下:

/bin/shellinaboxd   选项

常用的选项如下:

-b:在后台运行该服务

-u:指定运行该服务的用户,默认为nobody

-g:指定运行该服务的组,默认为nobody

-p:指定shellinaboxd的监听端口

-t:表示关闭SSL/TLS的支持。

-c:指定存放SSL证书的目录。

启动服务:

/usr/local/bin/shellinaboxd-b -t -u root

观察服务监听的端口:

[root@server2 bin]#netstat -tunlp | grep shellinabox

tcp        0     0 0.0.0.0:4200               0.0.0.0:*                  LISTEN      6765/shellinaboxd

[root@server2 bin]#

停止服务:

killall -9 shellinaboxd

设置服务的开机自动启动:

编辑/etc/rc.d/rc.local,增加如下内容:

/usr/local/bin/shellinaboxd-b -t -u root -g root

3. 客户端测试

这里采用的是HTTPS的方式登录的,点击”仍然继续”

当我们采用root用户登录时,登录失败,普通用户登录是没有问题的。

先以普通用户登录,然后su到root用户。其他的工作就和SSH登录是一样的了。

php基于浏览器的linux终端模拟器,shellinabox基于web浏览器的终端模拟器相关推荐

  1. linux下code-server离线远程web浏览器调试C++代码

    linux下code-server离线远程web浏览器调试C++代码 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 文章目录 lin ...

  2. c webbrowser ajax请求,C#的Web浏览器的Ajax调用C#的Web浏览器的Ajax调用(C# webbrowser Aja...

    WebBrowser控件(WPF和WinForms的版本)中的行为不同于IE完全多方面的. 您可能要实现功能控制带来其行为尽量接近IE越好(特别是FEATURE_BROWSER_EMULATION ) ...

  3. 基于嵌入式系统linux无线传感器网络软件平台,基于嵌入式网络的无线传感器网络平台硬件和软件实现...

    简要介绍资料的基于嵌入式网络的无线传感器网络平台硬件和软件实现主要内容,以获得更多的关注 随着技术的发展,基于分布式.无线传感器网络的应用也越来越多.本文提出了一个基于嵌入式系统的无线传感器网络实验平 ...

  4. es文件浏览器有linux版么,【ES 文件浏览器】ES 文件浏览器TV版_ES 文件浏览器TV版官网_-沙发管家TV版应用市场...

    ES文件浏览器简介 ES文件浏览器( ES File Explorer)是一款功能强大免费的本地和网络文件管理器 主要功能: 文件管理:多种视图列表和排序方式,查看并打开各类文件,在本地SD卡.局域网 ...

  5. android模拟器访问本地web应用,从 iOS 模拟器和 Android 模拟器连接到本地 Web 服务...

    从 iOS 模拟器和 Android 模拟器连接到本地 Web 服务Connect to local web services from iOS simulators and Android emul ...

  6. 亲测有效:用手机扫描HBuilderX 内置浏览器的二维码,电脑web浏览器可以显示,但在手机预览打不开。

    原文网址:https://ask.dcloud.net.cn/question/71971 解决办法: (1)打开CMD,,输入ipconfig /renew ,查看ipv4的地址复制下来 (2)然后 ...

  7. OpenCV基于ARM的Linux系统的交叉编译

    OpenCV基于ARM的Linux系统的交叉编译 基于ARM的Linux系统的交叉编译 先决条件 获取OpenCV源代码 获取最新的稳定OpenCV版本 从Git存储库中获取最新的OpenCV 构建O ...

  8. 基于linux的智能小车_基于ARM10与LINUX智能小车系统设计.doc

    基于ARM10与LINUX智能小车系统设计 基于ARM的智能小车系统的设计 摘 要 基于ARM的嵌入式系统其性能优良,移植性好,已广泛应用在各个行业,因此将ARM微处理器应用于智能小车的控制系统是一种 ...

  9. kail linux纯文本浏览器,在Linux Mint/Kali Linux上安装Vivaldi Web浏览器的方法

    本文介绍在Linux Mint/Kali Linux操作系统上安装Vivaldi Web浏览器的方法,只需要下面两个步骤即可,即先添加APT存储库然后运行命令安装. 一.添加APT存储库 Vivald ...

  10. 原来有那么多开源的Web浏览器

    提到 Web 浏览器,耳熟能详的当数四小龙:Chrome / Firefox / Safari / 微软 Edge ,这四家浏览器占据了大部分市场份额,同时也在制定 Web 的标准.但除了这些耳熟能详 ...

最新文章

  1. Android Wifi 主动扫描 被动扫描
  2. 设计模式在外卖营销业务中的实践
  3. 025_Jedis集群
  4. C++:const分配内存情况分析
  5. oracle数据库视图存放位置,oracle数据库审计
  6. 【Android】开发优化之——调优工具:TrackView,Method Profiling
  7. 15-description-Objective-C笔记
  8. z370支持pcie信号拆分吗_定了!AMD B550主板确认将支持PCIE4.0,多项能力接近X570
  9. 动态规划 —— 动态规划概述
  10. 人工智能语音电视能“听话”吗?
  11. python学习笔记(十二)-- if __name__ == '__main__'
  12. 《致云雀》(英)雪莱
  13. 装双系统win10和android,厉害了小米6!不仅骁龙835,还支持安卓和win10双系统
  14. 在文档阅读器上为 PDF 文档生成多级目录
  15. 什么叫大数据 大数据的概念
  16. 视频格式转换器下载哪个好?分享:3种TS到MP4的转换器
  17. ng-alain php,Angular 中后台前端解决方案 - Ng Alain 介绍
  18. Python 爬虫下载图片两种方法
  19. 2023海南大学计算机考研信息汇总
  20. Pytorch + Win10系统 + pip安装+ CUDA9.1版本(安装CUDA10.2版本)

热门文章

  1. 【优化求解】基于matlab罚函数的粒子群算法函数寻优【含Matlab源码 216期】
  2. gan生成印刷体字母_字母GAN:AI生成英语字母!
  3. opencv-python库的安装
  4. hexutil加解密_EncodeUtil(各种格式的编码解码工具类)
  5. 例4.5 最小公倍数 - 九度教程第48题(最小公倍数)
  6. 安卓分辨率_华为平板M6会不会是最强安卓平板?
  7. 在pycharm中安装pygame
  8. spss无法连接到本地计算机,通过远程连接打开SPSS产品时,收到许可证错误信息。从本地打开同一产品时没有错误。...
  9. mysql主从同步搭建过程_mysql 主从复制搭建详细步骤
  10. linux下yum安装maven