linux下安装shellinabox实现web登录服务器
GitHub地址(含有文件下载和详细安装流程):https://github.com/shellinabox/shellinabox
这里我们使用的是redhat安装方法如下:
1.配置安装依赖环境
yum install git openssl-devel pam-devel zlib-devel autoconf automake libtool
2.下载shellinabox包,开始安装
(1)git远程获取,克隆源文件到项目目录
git clone https://github.com/shellinabox/shellinabox.git && cd shellinabox
(2)在页面下载zip文件,上传至服务器。
unzip shellinabox-master.zip
cd shellinabox-master
(3)在项目目录中运行自动工具
autoreconf -i
(4)编译运行配置文件(可设置项目存放位置)
./configure
./configure --prefix=/usr/local/shellinabox #设置项目存放位置
(5)执行安装程序
make && make install
3.进行测试
(1)启动程序(需要在管理员下启动,不然所有用户都无法登录)
[root@redhat2 bin]# cd /usr/local/shellinabox/bin [root@redhat2 bin]# ./shellinaboxd -t #默认是开启在4200端口 -b #后台启动 -p #设置端口
-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
(2)可以查看程序运行端口
[root@redhat2 ~]# netstat -tulnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:4200 0.0.0.0:* LISTEN 11724/./shellinabox
(3)可能此时在主机上,依旧无法访问,需要配置防火墙
0.查看防火墙状态
/etc/init.d/iptables status
1.设置防火墙:
[root@redhat2 crazyeye]# /sbin/iptables -I INPUT -p tcp --dport 4200 -j ACCEPT #允许8080端口数据访问 [root@redhat2 crazyeye]# /etc/init.d/iptables save #保存配置 iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
2.临时关闭防火墙
/etc/init.d/iptables stop
3.永久关闭,不随着我们下一次重启而启动
chkconfig --level 35 iptables off chkconfig iptables off
(4)成功访问
推文:Shellinabox:基于 Web 的远程 Terminal 模拟器安装使用详解
4.使用iframe嵌入页面
(1)补充:一般设置div高度自适应方法
style="height:0;padding-bottom:100%"
(2)在使用shellinabox的web页面时使用iframe嵌入(不需要指定高度)
<div id="page-content"> <div class="row"> <div class="col-lg-12"> <iframe src="http://192.168.218.129:4200/" width="100%" style="padding-bottom:100%;background-color:white;"></iframe> </div> </div> </div>
(3)实现效果