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包进行安装。

源码包:http://shellinabox.googlecode.com/files/shellinabox-2.10.tar.gz

rpm包:

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

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目录下

默认情况下/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=
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

至此,使用10.16.59.100:4200访问,若访问成功,则表示安装已经成功

shellinabox基于web浏览器的终端模拟器的更多相关文章

  1. 基于 Web 的远程 Terminal 模拟器安装使用详解

    http://lzw.me/a/shellinabox.html 一.Shellinabox 简介 Shellinabox 是一个基于 web 的终端模拟器,采用 C 语言编写,使用 Ajax 与后端 ...

  2. 利用gotty在web浏览器模拟终端登录

    1.随机url,9000端口访问 gotty -p " -r -w bash -i 2.简单用户名密码授权,9090端口访问 gotty -p -c user:password -w bas ...

  3. 从晶体管到web浏览器

    几年前写了这个,想放到网上,招聘很困难,很多现代计算机科学教育真的很糟,很难找到懂得现代计算机堆栈的第一(基本)原理的人. 如果我曾经再次得到了12周的自由,我会提供这个作为课余学习的play,我也想 ...

  4. linux下安装shellinabox实现web登录服务器

    GitHub地址(含有文件下载和详细安装流程):https://github.com/shellinabox/shellinabox 这里我们使用的是redhat安装方法如下: 1.配置安装依赖环境 ...

  5. 网页播放音频、视频文件——基于web的html 5的音乐播放器(转载)

    文章转载自:开源中国社区 [http://www.oschina.net] 想通过手机客户端(支持 Android.iPhone 和 Windows Phone)访问开源中国:请点这里 HTML5 是 ...

  6. Terminix:基于 GTK3 的平铺式 Linux 终端模拟器

    现在,你可以很容易的找到大量的 Linux 终端模拟器,每一个都可以给用户留下深刻的印象.但是,很多时候,我们会很难根据我们的喜好来找到一款心仪的日常使用的终端模拟器.这篇文章中,我们将会推荐一款叫做 ...

  7. 前端Web浏览器基于Flash如何实时播放监控视频画面(前言)之流程介绍

    [关键字:前端浏览器如何播放RTSP流画面.前端浏览器如何播放RTMP流画面] 本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 考虑到视频延 ...

  8. 前端Web浏览器基于Flash如何实时播放监控视频画面(四)之使用videoJs‘拉流’

    本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 下载videoJs 对于Video.js 5.x及更低版本,Flash技术(v ...

  9. 更优于 Shellinabox 的 web shell 工具 -- ttyd

    ttyd 是一个运行在服务端,客户端通过web浏览器访问从而连接后台 tty (pts伪终端)接口的程序,把 shell 终端搬到 web 浏览器中. WebSocket WebSocket 是 HT ...

随机推荐

  1. vector与list区别

    vector为存储的对象分配一块连续的地址空间,因此对vector中的元素随机访问效率很高.在vecotor中插入或者删除某个元素,需要将现有元素进行复制,移动.如果vector中存储的对象很大,或者 ...

  2. winform中dataGridView单元格根据值设置新值,彻底解决绑定后数据类型转换的困难

    // winform中dataGridView单元格在数据绑定后,数据类型更改困难,只能迂回实现.有时候需要将数字变换为不同的文字描述,就会出现int32到string类型转换的异常,借助CellFo ...

  3. winform中设置窗体的默认焦点

    winform的窗体中,有时候需要设置默认焦点,有时候需要取消默认焦点. 设置默认焦点,最简单的方法就是设置这个控件的tabIndex,例:textBox1.TabIndex = 0; 也可以在窗体事 ...

  4. lumen Response

    1.基本响应 所有路由和控制器都会返回某种被发送到用户浏览器的响应,Lumen提供了多种不同的方式来返回响应,最基本的响应就是从路由或控制器返回一个简单的字符串: $app->get('/', ...

  5. 一种扩大View点击范围的方法

    Rect rect = new Rect();mBt0.getHitRect(rect); rect.bottom += 400; TouchDelegate touchDelegate = new ...

  6. protobuf C++ 使用示例

    1.在.proto文件中定义消息格式 2.使用protobuf编译器 3.使用c++ api来读写消息 0.为何使用protobuf? 1.原始内存数据结构,可以以二进制方式sent/saved.这种 ...

  7. js预解析及特效

    预解析: // 作用域: // 域:空间.范围.区域…… // 作用:读.写 script 全局变量.全局函数 自上而下 函数 由里到外 {} 浏览器: “JS解析器” 1)“找一些东西” :var ...

  8. (C++) LNK2019: unresolved external symbol.

    Error 33 error LNK2019: unresolved external symbol "\xxx.obj yyy.Native 仔细看看错误信息,后来发现尽然是构造函数的一个 ...

  9. Node.js的循环与异步问题

    (转自:http://bbs.tianya.cn/post-itinfo-280080-1.shtml) Node.js 的异步机制由事件和回调函数实现,一开始接触可能会感觉违反常规,但习惯 以后就会 ...

  10. Format specifies type 'int' but the argument has type 'struct node *'

    /Users/Rubert/IOS/iworkspace/LineList/LineList/main.c::: Format specifies type 'int' but the argumen ...