weh shell高大上?一文教你实现


一、概述

在很多堡垒机、IT审计等平台中,基本上都会带上一个web版的ssh,实现了用户能在web界面对服务器进行shell操作。又或者我们在防火墙后面不能使用这些工具访问远程系统,或者防火墙只允许HTTPS流量才能通过。那我们怎么才能对服务器进行操作呢?


二、shellinaboxd

是由Markus Gutschke开发的一款自由开源的基于Web的Ajax的终端模拟器。使用shellainbox不需要安装任何类似于 XShell 或 Putty 的通讯工具,也不用安装任何插件或第三方应用软件,你只需要有一个支持 JavaScript 和 CSS 的现代浏览器,通过Web浏览器提供了类似原生的 Shell 的外观和感受。shellinaboxd守护进程实现了一个Web服务器,能够侦听指定的端口。但是,这并不一定是一个安全的软件,我不建议在公网上将其暴露出来。

1) 安装shellinabox

本文以centos 7.5为例

  • 使用yum安装

[root@yunwsn /]# yum install shellinabox -yLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfileResolving Dependencies--> Running transaction check---> Package shellinabox.x86_64 0:2.20-5.el7 will be installed--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================== Package               Arch             Version                Repository      Size====================================================================================Installing: shellinabox           x86_64           2.20-5.el7             epel           136 k

Transaction Summary====================================================================================Install  1 Package

Total download size: 136 kInstalled size: 503 kDownloading packages:shellinabox-2.20-5.el7.x86_64.rpm                            | 136 kB  00:00:00     Running transaction checkRunning transaction testTransaction test succeededRunning transaction  Installing : shellinabox-2.20-5.el7.x86_64                                    1/1   Verifying  : shellinabox-2.20-5.el7.x86_64                                    1/1 

Installed:  shellinabox.x86_64 0:2.20-5.el7                                                   

Complete![root@yunwsn /]# 
  • 启动服务

[root@yunwsn /]# systemctl start shellinaboxd.service [root@yunwsn /]# systemctl status shellinaboxd.service ● shellinaboxd.service - Shell In A Box daemon   Loaded: loaded (/usr/lib/systemd/system/shellinaboxd.service; disabled; vendor preset: disabled)   Active: active (running) since Mon 2019-06-03 14:23:54 CST; 7s ago     Docs: man:shellinaboxd(1) Main PID: 30454 (shellinaboxd)   CGroup: /system.slice/shellinaboxd.service           ├─30454 /usr/sbin/shellinaboxd -u shellinabox -g shellinabox --cert=/v...           └─30455 /usr/sbin/shellinaboxd -u shellinabox -g shellinabox --cert=/v...
  • 查看端口

[root@yunwsn /]# netstat -natlpActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      876/sshd            tcp        0      0 0.0.0.0:4200            0.0.0.0:*               LISTEN      30454/shellinaboxd  

可以看到默认端口是4200

2) 使用shellainbox

  • 使用网页打开https://ip:4200(注意:一定是https打开)

  • 登录(注意,不支持root用户登录,只能使用普通用户登录)

3) 修改端口号

  • 修改配置文件,修改PORT即可

vi /etc/sysconfig/shellinaboxd# Basic optionsUSER=shellinaboxGROUP=shellinaboxCERTDIR=/var/lib/shellinaboxPORT=443OPTS="--disable-ssl-menu -s /:LOGIN"
  • 重启服务

systemctl restart shellinaboxd.service
  • 查看端口

tcp        0      0 10.104.145.137:443      116.21.13.32:39703      ESTABLISHED 31255/shellinaboxd 

微信公众号~运维少年

转载于:https://blog.51cto.com/xiaowangzai/2404280

weh shell高大上?一文教你实现相关推荐

  1. 一文教会你写90%的shell脚本!

    来自:匠心Java 大家好,我是老C,很开心和大家见面~ 在公司项目的开发过程中,总会有需要编写shell脚本去处理一个业务的时候,也有的小伙伴总会问我关于shell脚本的一些知识,在这里博主整理了一 ...

  2. 怎么写shell脚本才能不耍流氓?

    1.不记录日志的 SHELL 脚本就是耍流氓! 我们经常在工作中会遇到一个苦恼的事情,一个 Shell 脚本到底干了什么,什么时候开始执行,什么时候结束的.尤其是数据库备份,我们想知道我们的 MySQ ...

  3. 【shell】shell编程(一)-入门

    如今,不会Linux的程序员都不意思说自己是程序员,而不会shell编程就不能说自己会Linux.说起来似乎shell编程很屌啊,然而不用担心,其实shell编程真的很简单. 背景 什么是shell编 ...

  4. DIY一个高大上带提醒的计时器,简单实用,你还在等什么

    小编心语:锵锵锵!小编我又来了!昨天发了一篇比较实用的<Python聊天室>,鉴于反响还不错,SO ,小编也想给大家多分享点有用的干货,让大家边学边用.好了,闲话不多说,今天要给各位看官们 ...

  5. shell如何控制文件读写不同时_如何定时备份Mysql数据库数据?

    这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...

  6. linux脚本怎怎么屏蔽段落,怎么写shell脚本才能不耍流氓?

    1.不记录日志的 SHELL 脚本就是耍流氓! 我们经常在工作中会遇到一个苦恼的事情,一个 Shell 脚本到底干了什么,什么时候开始执行,什么时候结束的.尤其是数据库备份,我们想知道我们的 MySQ ...

  7. Linux 探索之旅 | 第五部分第六课:一朝 Shell 函数倾,斗转星移任我行

    -- 作者 谢恩铭 转载请注明出处 内容简介 前言 函数的作用 函数的定义 传递参数 返回值 变量作用范围 重载命令 函数的设计 总结 第五部分第七课预告 1. 前言 上一课 Linux探索之旅 | ...

  8. 你是这样理解shell编程的嘛?

    学习使用linux系统,绕不过去的就是shell脚本编程,在编写shell脚本之前.当然还要熟悉linux上的一些常用的命令(ls.mv.alias.cp.crontab.find.grep.mkdi ...

  9. 日程定时提醒程序C语言,DIY一个高大上带提醒的计时器,简单实用,你还在等什么...

    DIY一个高大上带提醒的计时器,简单实用,你还在等什么 发布时间:2020-07-19 15:02:29 来源:51CTO 阅读:1124 作者:实验楼 小编心语:锵锵锵!小编我又来了!昨天发了一篇比 ...

最新文章

  1. mac 端口转发方案
  2. BBED修复DB启动问题
  3. ArcEngine编辑功能的实现(二)
  4. stm32之TIM-高级定时器应用实例二(测量频率和占空比)
  5. frpfile官方最新绕id工具_【IPFS动态】IPFS官方周报第104期:Chromium增加了对IPFS的支持!...
  6. 282天,汇付天下“冲上云霄”
  7. ActiveMQ的安全配置(九)
  8. win 10配置安装iis
  9. H5 自定义数据属性
  10. JVM学习(1)——通过实例总结Java虚拟机的运行机制(转)
  11. 再谈“颠覆”冯.诺依曼计算机体系结构 —— 计算机的未来发展方向:去内存化...
  12. 修改phpMyAdmin使其能够管理多台远程MySQL服务器
  13. SD卡无法格式化怎么办?恢复SD卡这样做
  14. 定制一款铝合金型材的流程
  15. python showinfo函数_Python 函数
  16. PyTorch学习之误差反向传播
  17. 加强自定义菜单 即更换浏览器默认右击菜单栏
  18. 网络工程师必知的几款网络故障排除工具
  19. linux自动联想,在联想扩展坞和Linux上自动切换显示
  20. 连接重置Connection reset异常

热门文章

  1. Android4.1 新功能 新特性(转)
  2. NULL 值处理遇到的错误问题.
  3. android 如何使用SAX解析XML
  4. pytorch实现L2和L1正则化regularization的方法
  5. 常见索引结构—B+树
  6. SpringBoot+Redis(实现处理热点数据)
  7. Pandas库(2):数据的统计分析
  8. spring中AOP动态代理的两种方式
  9. html5-6 Frame框架窗口类型
  10. rails 构建 API