如何:通过浏览器访问Linux下的Shell

背景介绍
因为公司无法直接访问外网,只能通过HTTP代理访问外网,所以就无法直接连接外网服务器的Shell,但是可以通过HTTP代理访问服务器的Web页面,所以有了需要通过浏览器的Http协议访问Linux下的Shell的需求。

环境介绍
Ubuntu 14.04
Apache2

操作步骤

  1. Apache2等安装方法这里就不介绍了,简单来说,在Ubuntu下执行以下命令即可:
    sudo apt-get install apache2
  2. 安装Shell in a box,安装完成后访问http://[IP或者域名]:4200应该可以直接访问shell了。
    sudo apt-get install shellinabox
    因为需求中只能访问80端口,后面将会使用Apache的80端口做转发,将请求转发到本机的4200端口。
  3. 修改Shell in a box配置,去除ssl依赖(此处如果可以使用HTTPS协议的话,也可以不做):
    sudo vim /etc/init.d/shellinabox
    在# Set some default values下添加下面一行,表示禁用SSL。
    SHELLINABOX_ARGS="--disable-ssl"
  4. 修改Apache配置
    1. 增加proxy模块:

       
    2. 创建shellinabox配置文件:/etc/apache2/conf-available/shellinabox.conf,添加转发命令,将/shell转发至http://127.0.0.1:4200/,即Shell in a box的默认监听端口。如果修改了默认端口,此处应该做相应修改。

       
    3. 启用shellinabox配置

       
  5. 重启Shell in a box服务和Apache服务:

     
  6. 检查看是否生效:访问http://[IP或者域名]/shell

 参考资料

  1. 介绍了有哪些开源的浏览器访问Shell的项目
  2. 本文使用的Shell in a box的项目主页
  3. Shell in a box的使用方法

 

 

anyShare分享到:

原文地址:http://godmoon.wicp.net/blog/index.php/post_61.html,转载请注明出处

Moon发表于2015年7月30日
打赏作者

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

发布者

sytzz

学会用简单的语言将复杂的问题说清楚。

发表评论

电子邮件地址不会被公开。